注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Wei Ding blog

 
 
 

日志

 
 

怎么在文件中每行后面添加行数号(shell命令) (转载)  

2017-08-14 17:38:12|  分类: linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

http://www.gan-ren.com/hr_fbgchdvtc.htm

怎么在文件中每行后面添加行数号(shell命令)

RT,一个文件中有多行,在每行后面添加一个行号,shell命令,谢谢

用awk,一条命令就可以搞定:
awk '{print $0" "FNR}' file.txt >result.txt其中,$0表示当前处理的文件行内容,FNR表示当前处理的文件行行号。
结果存在result.txt中。

为拓展思路,下面用一个不同的方法:穿发扁菏壮孤憋酞铂喀
用sed得到每行行号,存入一个tmp文件,然后用paste合并这两个行数相同的文件就得到了。
假设你的原始文件名称为file.txt。
#!/bin/shsed -n '=' file.txt >tmppaste file.txt tmp >result.txtrm -f tmp
1、awk比较简单,就像楼上写的那样
2、sed有点复杂,以下是sed:
sed '=' test2 |sed -n 'h;n;G;s/\n&穿发扁菏壮孤憋酞铂喀#47; /p;'
注释:
1、首先利用=给每行前插入一行行号
2、利用h,将奇数行(行号)复制到保持空间,然后n将偶数行放到模式空间,之后G将奇数行从保持空间转移至模式空间后,因为复制行的时候带的有\n(换行符),故用s将换行符替换为空格,最终模式空间的内容就是「偶数行 奇数行」然后p输出出来

#!/bin/bash
a=1
while read line
do
echo $line" "$a
a=`expr $a + 1`
done<$1

以上代码存成test.sh
chmod +x test.sh
./test.sh 要修改的文件名

  评论这张
 
阅读(32)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017