我已经研究了这里的其他问题,但还没有真正找到一个对我的作品。我试图从文件中选择特定的行,并用另一个字符串替换该行上的字符串。所以我有一个名为my_course的文件。我试图修改my_course中以“123”开头的一行。在那一行我想用“1”替换字符串“0”。帮帮我?我怎样才能在特定的线替换字的文件中UNIX
回答
一种可能是使用sed的:
sed '/^123/ s/0/1/' my_course
在第一
/../
部分,你只需要指定模式你正在寻找^123
了开头的行123在您指定的替代部分
s/from/to/
要执行。
请注意,默认情况下,在替换之后,文件将写入stdout。你可能会想:
重定向使用
... > my_new_course
“到位”执行替换使用
-e
开关输出。如果您使用的是地方的破坏性的sed
您可能希望使用-iEXTENSION
,以便在出现问题时保留原始版本的给定EXTENSION的副本。
编辑: 要匹配所需的存储在一个变量,你必须用双引号"
为使用单qoutes '
将阻止变量扩展到封闭sed脚本的前缀内衬:
sed "/^$input/ s/0/1/" my_course
我不能得到它的工作。 im使用sed'/^$ input/s/0,/ 1,'my_course – user2012751 2013-03-26 20:45:27
$ input包含特定行的第一个字 – user2012751 2013-03-26 20:46:14
它会是因为0,是字符串的一部分而不是字符串本身 – user2012751 2013-03-26 20:52:19
有无你试过这个: sed -e'[line] s/old_string/new_string /'my_course
PS:不应该使用[],只是为了说清楚你应该把数字放在前面这个“的”。
干杯!
事实上,在这种情况下,-e是没有必要的,我可以写只是
sed '<line number>s/<old string>/<new string>/' my_course
谢谢,但在这种情况下,我不能使用行号,因为我的程序将修改文本文件和行号不会保持不变 – user2012751 2013-03-26 20:47:55
- 1. 我怎样才能在标签上替换特定的字符
- 2. 我怎样才能只替换一些python字符串中的特定字符?
- 3. 我怎样才能避免被Regex.replace被替换特定的字符串模式()
- 4. 我怎样才能从文本文件中搜索特定的字符串?
- 5. UNIX替换文件中的特定行
- 6. 我们怎样才能引用文件的特定行?
- 7. 我怎样才能从一个特定的配置文件
- 8. 我怎样才能替换一个字符串在PHP网址
- 9. 我怎样才能的application.ini文件
- 10. 我怎样才能改变路径到特定文件夹
- 11. 我怎样才能用winform中的位图替换光标
- 12. 我怎样才能获得和在javascript替换这个(jQuery的
- 13. 我怎样才能航线的用symfony
- 14. 我怎样才能抓住括号内的特定字符串
- 15. 我怎样才能在斯威夫特
- 16. 我怎样才能在斯威夫特
- 17. 我怎样才能在一个字符串中替换多个子字符串?
- 18. 我怎样才能在python2中逐字节编辑文件?
- 19. 我怎样才能取代在JavaScript中的字符串的特定部分?
- 20. 我怎样才能复制一个具有特定日期的文件在c#
- 21. jQuery的 - 我怎样才能使这项工作(标签替换)
- 22. 我怎样才能看到sdf文件
- 23. 我怎样才能打开FLP文件?
- 24. 我怎样才能从PSD文件
- 25. 我怎样才能
- 26. 我怎样才能
- 27. 我怎样才能
- 28. 我怎样才能
- 29. 我怎样才能否定Mercurial中的开发线?
- 30. 我怎样才能的MSBuild
向我们展示你已经尝试了什么。 – 2013-03-26 20:38:12