linux命令操作文件,替换每一行的数据

有一个txt文件,内容如下:

2016的吉日
12月30万年历
2016.12.16黄历
2017 年万年历
今日吉日吉时
今日黄厉查询
电子万年挂历

如何把字符串转换成:

1234 2016的吉日
1234 2016的节日

以此类推...
其中1234是一个死数字,数字后紧跟空格,最后面是原始的字符串。

ps:文件有几十万行字符串

阅读 3.2k
2 个回答

没有看懂你的需求。。。
这样啊。。 可以用sed实现:

sed -i 's/^/1234 /' file

说实话,没有看懂题意,附vim批量替换

1) 文件内全部替换:

:%s#abc#123#g (如文件内有#,可用/替换,:%s/abc/123/g)
  --注:把abc替换成123

(或者: %s/str1/str2/g 用str2替换文件中所有的str1)

2) 文件内局部替换:

 :20,30s#abc#123(如文件内有#,可用/替换,:%s/abc/123/g)
  --注:把20行到30行内abc替换成123
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题