0
文件b.txt
tar文件中的文本文件中的行包含線,如這些:在tar文件<code>b.tar</code>替換sed和正則表達式
dir1 => /dir1A
dir2 => /dir2A
我想一個簡潔的表達與替換它的tar文件中用這些來代替行版本:
dir1 = /dir1B
dir2 = /dir2B
的表達可能依賴於這樣一個事實:b.txt
副本在同一目錄a.tar
存在。我的sed
技能有點生鏽。我已經嘗試了以下,但它還沒有工作。我的錯誤是什麼?有更簡潔的版本嗎?
tar df a.tar b.txt
echo b.txt |
sed \#^dir1[ \t]*=>.*$#dir1 => /dir1B# |
sed \#^dir2[ \t]*=>.*$#dir2 => /dir2B# |
tar af a.tar -
所以'tar'文件並沒有真正進入到你的問題,因爲你有「聯合國」已經塗柏油?在sed中替換的正確語法是'sed'\#...#...#'file'(注意前導's'和單引號)。您也可以在一次調用中組合多個替換,例如'sed's \#...#...#; \#.. 2 ..#...#'(注意分隔命令的分號)。祝你好運; – shellter