我有以下awk命令其完美的作品:AWK:在使用轉義字符聲明
awk 'BEGIN { ORS = " " } {print 22, $1, NR; for(i=2;i<=NF;++i) print $i}{print "\n"}' file
它所做的是插入兩列:值22爲第一,而排爲NR第三個(見this question)。 我試圖在運行此命令for循環如下:
for p in 20 21 22
do
awk 'BEGIN { ORS = " " } {print $p, \$1, NR; for(i=2;i<=NF;++i) print \$i}{print "\n"}' file > file$p
done
因此,而不是在第一列中的22,第3個文件由其中每個文件具有20,21或22作爲第一列。不幸的是,這不起作用,我得到的消息:^反斜槓沒有最後一個字符在行。 它可能與我如何逃脫$角色有關,但我不知道該怎麼做......任何想法?
不要逃避'$ '在awk腳本中。 – 2012-03-22 14:25:51