Escreva sua mensagem de erro para stderr
.
awk -F, OFS=, -v d="$dvc" '
$2==d {
if($3=="Free") $3="Used"
else print d "In use" > "/dev/stderr"
print
}' $FILE_HOME/report.csv > $FILE_HOME/report1.csv
Isso fará com que apareça na tela (se stderr
não for redirecionado), e não na saída padrão.
Dito isso, há coisas que você pode fazer para tornar seu script mais simples de se trabalhar. Que tal isso:
#!/usr/bin/awk -f
BEGIN {
FS=","
OFS=","
FILE_NAME="/tmp/test/report1.csv"
print "Enter the device name:"
getline d < "-"
}
$2==d && $3=="Free" {
$3="Used"
print > FILE_NAME
next
}
$2==d {
print d " in use" > "/dev/stderr"
}
{
print > FILE_NAME
}
Invoque-o com
$ script_name /tmp/test/report.csv
e / ou envolva-o em bash
como quiser.