1

文字列にいくつかの文字を追加する解決策を見つけたい

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」は正しい選択でしょうか?

ありがとうございました

4

2 に答える 2

4

sedの代わりに使用grep:

sed -i.bak 's#^\([^/]*\)#.\1.old#'

-i結果を元のファイル自体に保存することに注意してください。何か問題が発生した場合に-i.bak備えて、元のファイルに拡張子を付けて保存します。.bak

于 2013-04-22T14:36:10.387 に答える
4

grep検索のみで、置換は行いません。あなたがしたいsed

sed -i.bak 's#^\([^/]*\)#.\1.old#'

^行の先頭が
\(...\)括弧をキャプチャしていることを意味し、一致するパターン\1が置換になります。先行するものが 0 個以上ある 以外の
[^/]すべてに一致/
*

于 2013-04-22T14:39:06.987 に答える