たくさんのフォルダとファイルが入ったフォルダがあります。私は検索を行い、次のものを置き換えたいと思います:
- 前:'my_folder。'
- 後:''(空白)
これが私が試したものです(うまくいきませんでしたが)
find ./ -type f -exec sed -i ‘s/my_folder.//’ {} \;
ここでの正しいコマンドは何ですか?
あなたが探しているコマンドは、ちょっと次のようなものです:
find ./ -type f -exec sed -e "/my_folder./s/my_folder.//" {} \;
ただし、出力は画面に印刷され、ファイルに書き戻されることはありません。そのようなことを達成するには、私の意見では複数行のコードが必要ですが、ここでも「意見」がキーワードです。このようなものが役立つかもしれません
for file in $(find ./ -type -f)
do
cat ${file} | sed -e "/my_folder./s/my_folder.//" > MyTempFile
cat MyTempFile > ${file} # use this instead of 'mv' command to preserve file perms
done
お役に立てれば