複数の単語を検索して置き換える必要があります。たとえば、私のファイルで、後にカンマが付いている平日の名前を検索したいとします。Sat,
または、または、または、またはカンマのない名前:または、または、Sun,
または、Mon,
または私はこれを一つずつ行う方法を知っています。Tue,
Wed,
Thur,
Fri,
Saturday
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
sed 's/Sat,/Saturday/g' myfile.txt > output.txt
ただし、毎週複数のファイルを確認する必要があるため、すべての名前を確認して一度に置き換えるより効率的な方法を見つける必要があります。スクリプトを使ってこれを行うことができることを知っていますが、以前はこれを行ったことはありません。誰もがこれについてよく知っている場合は、今回学び、次に自分で行うことができます。
答え1
次のように複数のsed
式を連結できます-e
。
sed -e 's/Sat,/Saturday/g' -e 's/Sun,/Sunday/g' <file>
Sat,
これにより、すべての項目がwithSaturday
とすべての項目にSun,
置き換えられますSunday
。
答え2
このソリューションを共有する必要があると思いました。私がダウンロードしたメディアの字幕には、NSFC(子供にとって安全ではない)という言葉がいっぱいでした。これにより、不快感を与える単語が再帰的に削除されます。
find . -type f -name "*.srt" -exec sed -i 's/\(word1\|word2\|word3\|word4\|word5\|word6\|word7\|word8\)//g' {} +
これにより削除が確認されます。
grep --include=\*.srt -rnwE . -e 'word1|word2|word3|word4|word5|word6|word7|word8'