私は何百ものフォルダがある大きなディレクトリを持っています。ここで、xはランダムな単語です。各フォルダには3つのテキストファイルがあり、すべて「a_b_x」を含む複数の文字列が含まれています。
すべてのディレクトリの名前を変更し、ファイル内の文字列を「a_b_x」から「a_x」に変更しようとしています。これは、「b_」を削除する必要があることを意味します。すべてのファイルを手動で編集するには数時間かかりますので、いくつかのsed魔法を使ってこれを行いたいと思います。
ベストアンサー1
あなたはいつも出力解析の防止ls
。これを試してみてください(ありがとうございますスティーブン・チャジェラス提案./*/
):
for folder in ./*/; do
sed -i 's/_b//g' "$f"/*; mv "$folder" "${folder/_b/}";
done