Nu är jag bara blir frustrerad och förvirrad ... Om någon har några råd om hur detta missförhållande förekommer jag verkligen skulle uppskatta det.
Kod:
cat helpme.txt | awk 'NR<5{printf("%-20s %-20d %-20d %-20.1f\n","hello",$1,$2,$3)}' | sort -rk4
Denna rad fungerar bra i solo - läser de tre fälten från helpme.txt och lägger en första fältet "hej" innan de andra på produktion ... verkar enkelt nog och det fungerar bra på egen hand på kommandoraden.
I ett litet program som det inte fungerar ...
Kod:
#!/bin/sh
echo "Please enter the file you want compressed: \c"; read filename
echo File: $filename
# check to see file exists and is readable with -r
if [ -r $filename ]
then
echo gzip | gzip -f $filename; gunzip -l $filename.gz > $filename.txt; gunzip $filename
gzip -f rose.bmp; gunzip -l rose.bmp.gz >> $filename.txt; gunzip rose.bmp.gz
cat helpme.txt | awk 'NR<5{printf("%-20s %-20d %-20d %-20.1f\n","hello",$1,$2,$3)}' | sort -rk4
else
echo sorry the file does not exist or is not readable
fi
Så på denna punkt jag tänker magi?
Och ja med endast de tre områdena i kortprogrammet det fungerar bra.