特定の名前を持つすべてのファイルの内容を新しいファイルにコピーするには?

特定の名前を持つすべてのファイルの内容を新しいファイルにコピーするには?

私が望むのは、名前が特定の要件(「s」で始まり、「1」または「2」で始まり、「sh」で終わる)を満たすすべてのファイルを検索してから、すべてのファイルの内容をコピーしてそのファイルをマージすることです。新しいファイル(名前で終わる.txt)に移動します。

これまでは次のようにすべきだと思います。

cat / "s[1-2]*sh" >> /home/admin/Desktop/myFile.txt

それでもできません。報告してください。

cat: /: Is a directory

私は完全にアイデアを持っていません。 Ubuntu 18.04.1を実行しています。

ベストアンサー1

現在のディレクトリのファイルをリンクするには:

cat s[12]*sh > /home/admin/Desktop/myFile.txt

現在のディレクトリとサブディレクトリでファイルを見つけて結合するには、次の手順を実行します。

find . -name "s[12]*sh" -exec cat '{}' > /home/admin/Desktop/myFile.txt \;

どこでもファイルを見つけてリンクするには、次の手順に従います。

find / -name "s[12]*sh" -exec cat '{}' > /home/admin/Desktop/myFile.txt \;

おすすめ記事