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