求对文件某字符串改写的方法。

发布于 2022-07-21 05:48:54 字数 380 浏览 16 评论 5

文件的内容如下:
alsdfjas
assdfghfgh
dlfk
;lsdkfj
test1: "123456"
test2: "080980"
test3: "999999"
现想改写该文件的"080980"为"111111"即test2行变为:
test2: "111111"
求好的编写方法。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

晨与橙与城 2022-07-22 11:03:02

sed -i '/test2/s/^.*$/test2: "888"/' test
-i后面可接字串,字串将作为原文件备份的后缀名。如:sed -i".bak" '/test2/s/^.*$/test2: "888"/' test,test文件被改写,并产生test.bak

丶视觉 2022-07-22 10:44:31

原帖由 mq110 于 2006-3-27 13:45 发表

sed '/test2/s/".*"/"000000"/' test

"test2: " "<不定长的字串>"
要求"test2: " 保留不变呀,可是已被删除了,怎么做?
另外所做的改变并没有写入文件,怎么才能写入文件?

俯瞰星空 2022-07-22 08:42:19

原帖由 zhpzh 于 2006-3-27 13:06 发表
谢谢mq110,方法不错。

如果test2行变为如下:
"test2: " "<不定长的字串>"
现想改写该行的第二个""里的内容(注,此行第二个""里的内容为不定长的字符串)为 ...

sed '/test2/s/".*"/"000000"/' test

第几種人 2022-07-22 04:59:29

谢谢mq110,方法不错。

如果test2行变为如下:
"test2: " "<不定长的字串>"
现想改写该行的第二个""里的内容(注,此行第二个""里的内容为不定长的字符串)为888,怎么写?

梦太阳 2022-07-21 18:44:45
  1. [root@Ora9i script]# cat test
  2. alsdfjas
  3. assdfghfgh
  4. dlfk
  5. ;lsdkfj
  6. test1: "123456"
  7. test2: "080980"
  8. test3: "999999"
  9. [root@Ora9i script]# sed '/test2/s/"080980"/"000000"/' test
  10. alsdfjas
  11. assdfghfgh
  12. dlfk
  13. ;lsdkfj
  14. test1: "123456"
  15. test2: "000000"
  16. test3: "999999"

复制代码

用sed 很好处理.

[ 本帖最后由 mq110 于 2006-3-27 12:29 编辑 ]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文