複数のディレクトリの複数の* .txtファイルを同じディレクトリにコピーし、新しいファイルの名前を変更しようとしています。

複数のディレクトリの複数の* .txtファイルを同じディレクトリにコピーし、新しいファイルの名前を変更しようとしています。

数百のディレクトリに少なくとも2〜3個の* .txtファイルがあります。必要なものは次のとおりです。 1. 各ディレクトリの *.txt を同じディレクトリにコピーし、ファイル名を *_name.txt に変更します。 (*は.txtの元の名前でなければならず、すべての文字列は "name"でなければなりません。ディレクトリはすべて同じです。paxを使用してこれを実行できますか?

ベストアンサー1

これは使用しないがpax達成する必要があるタスクを実行する非常に簡単な方法です。

IFS="\n"
for file in *.txt; do
    cp -- "$file" "${file%.txt}_name.txt"
done

この設定は値の終わりを削除します${var%suffix}。ファイル拡張子を削除するために使用されます。 suffix$var

おすすめ記事