1. ホーム
  2. sed

[解決済み】複数のファイルを変更する

2022-04-01 11:05:01

質問

次のコマンドは、2つのファイルの内容を正しく変更しています。

sed -i 's/abc/xyz/g' xaa1 xab1 

しかし、私が行う必要があるのは、いくつかのそのようなファイルを動的に変更することであり、私はファイル名を知らないのです。で始まるカレントディレクトリのすべてのファイルを読み込むコマンドを書きたいのです。 xa*sed は、ファイルの内容を変更する必要があります。

どのように解決するのですか?

もっといいのは

for i in xa*; do
    sed -i 's/asd/dfg/g' $i
done

なぜなら、誰もそこにいくつのファイルがあるのか知らないし、コマンドラインの制限を破るのは簡単だからだ。

ここで、ファイル数が多すぎるとどうなるかを説明します。

# grep -c aaa *
-bash: /bin/grep: Argument list too long
# for i in *; do grep -c aaa $i; done
0
... (output skipped)
#