私は多くのファイル(10,000以上)を開き、cat
次のように1つにマージしてみました。
cat * > ~/Desktop/lol.xml
ただし、次のエラーが返されました。
-bash: /bin/cat: Argument list too long
これは、コンテンツが長すぎるか大きいことを意味します。これにはどのような方法を使用できますか?
答え1
find . -maxdepth 1 -type f --exec cat {} + > ~/Desktop/lol.xml
これはcat
可能な引数の最大数を使用して呼び出されます。残りのパラメータについては、cat
新しいインスタンスが起動されます。
答え2
コマンドが使用できる引数の数には制限があります。解決策は以下を使用することですfor loop
。
for file in *; do cat "$file"; done
最大値は次の方法で表示できます。
$ getconf ARG_MAX