文字列にいくつかの文字を追加する解決策を見つけたい
例
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 -i.bak 's#^\([^/]*\)#.\1.old#'
-i結果を元のファイル自体に保存することに注意してください。何か問題が発生した場合に-i.bak備えて、元のファイルに拡張子を付けて保存します。.bak
grep検索のみで、置換は行いません。あなたがしたいsed:
sed -i.bak 's#^\([^/]*\)#.\1.old#'
^行の先頭が
\(...\)括弧をキャプチャしていることを意味し、一致するパターン\1が置換になります。先行するものが 0 個以上ある 以外の
[^/]すべてに一致/
*