Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想找到一个在字符串中添加一些字符的解决方案
例子
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' 会是正确的选择吗?
谢谢
使用sed代替grep:
sed
grep
sed -i.bak 's#^\([^/]*\)#.\1.old#'
请注意,这-i会将结果保存在原始文件本身中。-i.bak将保存带有.bak扩展名的原始文件,以防出现问题。
-i
-i.bak
.bak
grep仅搜索,不进行替换。你想要sed:
^表示该行的开头 \(...\)正在捕获括号,它匹配的模式成为\1替换。 [^/]匹配除/ *前面的零个或多个 之外的任何内容
^
\(...\)
\1
[^/]
/
*