用awk,一条命令就可以搞定:
awk '{print $0" "FNR}' file.txt >result.txt其中,$0表示当前处理的文件行内容,FNR表示当前处理的文件行行号。
结果存在result.txt中。
为拓展思路,下面用一个不同的方法:
用sed得到每行行号,存入一个tmp文件,然后用paste合并这两个行数相同的文件就得到了。
假设你的原始文件名称为file.txt。
#!/bin/sh1、awk比较简单,就像楼上写的那样
2、sed有点复杂,以下是sed:
sed '=' test2 |sed -n 'h;n;G;s/\n/ /p;'
注释:
1、首先利用=给每行前插入一行行号
2、利用h,将奇数行(行号)复制到保持空间,然后n将偶数行放到模式空间,之后G将奇数行从保持空间转移至模式空间后,因为复制行的时候带的有\n(换行符),故用s将换行符替换为空格,最终模式空间的内容就是「偶数行 奇数行」然后p输出出来