我已經研究了這裏的其他問題,但還沒有真正找到一個對我的作品。我試圖從文件中選擇特定的行,並用另一個字符串替換該行上的字符串。所以我有一個名爲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