我想找到一个在字符串中添加一些字符的解决方案
实施例
folder/dir/directory/file.txt
shares/page.html
etc/downloads/torrent.torrent
应该成为
.folder.old/dir/directory/file.txt
.shares.old/page.html
.etc.old/downloads/torrent.torrent
我该怎么做? 'grep'会是正确的选择吗?
谢谢
答案 0 :(得分:4)
使用sed
代替grep
:
sed -i.bak 's#^\([^/]*\)#.\1.old#'
请注意-i
会将结果保存在原始文件中。如果出现问题,-i.bak
会将原始文件保存为.bak
。
答案 1 :(得分:4)
grep
仅搜索,不会替换。你想要sed
:
sed -i.bak 's#^\([^/]*\)#.\1.old#'
^
表示行的开头
\(...\)
正在捕捉括号,其匹配的模式在替换中变为\1
除了[^/]
之外,/
匹配任何内容
*
为前面的零或更多