2010-04-30 28 views
1

J'ai un tas de fichiers dans un répertoire, chacun avec une ligne de texte. Je veux catcher tous ces fichiers ensemble (tous les liners) dans un seul gros fichier. Cependant, lorsque j'utilise cat, il y a trop d'arguments. Comment puis-je contourner cela?unix - comment traiter trop d'arguments pour chat

Répondre

4
bash$ (ls | xargs cat) > /tmp/some_big_file 
2

regarder dans xargs

find . <whatever> | xargs cat > outfile.txt 

Remplacez le bit find . <whatever> avec votre façon d'obtenir tous les fichiers

Remplacer outfile.txt avec votre fichier de sortie.

1

essayez d'utiliser -n avec xargs pour réduire le nombre d'arguments passés à chat

find .|xargs -n 100 cat >> out