1つのコマンドを使用して名前に "t_1"を含むすべてのファイルを別のディレクトリにコピーするにはどうすればよいですか?

1つのコマンドを使用して名前に "t_1"を含むすべてのファイルを別のディレクトリにコピーするにはどうすればよいですか?

1つのコマンドを使用して名前に "t_1"を含むすべてのファイルを別のディレクトリにコピーするにはどうすればよいですか?

答え1

使用

cp /path/to/files/*t_1* /path/to/destination

そうでなければ

cp ./*t_1* /path/to/destination

ファイルが現在のディレクトリにある場合。

または、

for f in ./*t_1*; do
    cp "$f" /path/to/destination
done

これは、現在のディレクトリにこのパターンに一致する何千ものファイルがある場合でも、うまく機能します。

答え2

簡単な解決策は次のとおりです。

find ./ -name '*t_1*' -exec mv '{}' ./ \;

このコードは、名前に検索パターンを含むすべてのファイルを階層内の1レベル上に移動します。

たとえば、すべての「t_1」ファイルが次の場所に保存されているとします。/ホーム/デスクトップ/目次。それから/家/端末でこのコマンドを実行してください。すべての「t_1」ファイルが次から削除されます。/ホーム/デスクトップ/到着/家/目次。

ファイル名の t_1 の位置に関係なく、すべてのファイルがコピーされます。

関連情報