这里是我的文件(TEMP.DAT):SED/AWK拷贝行数X行数y
abcd
efgh
ijkl
mnop
qrst
uvwx
yzzp
aprd
wsuo
zrnt
从这个文件,我想第2行的(全部内容)复制到9号线,意义得到这个新文件:
abcd
efgh
ijkl
mnop
qrst
uvwx
yzzp
aprd
efgh
zrnt
这是我实现
awk '{if (NR==2) s=$0;if (NR==9) print s;print NR" "$0}' temp.dat > new.dat:
输出
1 abcd
2 efgh
3 ijkl
4 mnop
5 qrst
6 uvwx
7 yzzp
8 aprd
efgh
9 wsuo
10 zrnt
我不明白,为什么这些数字出现。有人可以帮助我使用awk或sed的讨好。
怎么样'AWK 'NR> = 2 && NR <= 9' inputfile' –
的数字是有因为您在打印中包含“NR” – Thor
您是否只希望稍后在文件的早期打印一行(例如,打印行2而不是行9)或者您是否有时想打印行f rom稍后在文件中(例如,打印第9行而不是第2行)?后者需要与前者不同的解决方案。 –