2016-10-01 5 views
0

私はこのフォーマットで出力テキストになっている。このgawkのスクリプトがあります。ここではLinuxの - 複数行のgawkの行番号

line 1: I am just a poor boy 
line 1 reversed: boy poor a just am I 

はスクリプトです:

BEGIN {print ""} 
{ 
    printf "Line %d: %s\n", NR, $0; 
    lineCount++; 

    for (i = NF; i >= 1; i--) 
    printf "%s " , $i; 

printf "\n\n"; 
} 
END {printf ""} 

私の質問が行う方法です逆の行に「Line x reversed:」と表示されますか?

+0

あなたが別のものを追加していない理由は、 'printf'を使用する方法を参照してください? (ヒント、ヒント、 'for'ループの直前?)。また、あなたは 'LineCount'を何のために使っていますか?それを削除してください!がんばろう。 – shellter

+0

入手しました。ありがとう! – bradym55

答えて

0

この作品...

$ awk '{print "line " NR ":", $0; 
     for(i=1; i<=NF/2; i++) {k=NF-i+1; t=$i; $i=$k; $k=t} 
     print "line " NR " reversed: " $0}' file 

line 1: I am just a poor boy 
line 1 reversed: boy poor a just am I