GNU/Linux >> Linux の 問題 >  >> Ubuntu

フォルダ内の多くのファイルの名前を変更するにはどうすればよいですか?

閉鎖。 この質問はトピックから外れています。現在、回答を受け付けていません。

この質問を改善したいですか? 質問を更新して、AskUbuntuのトピックになります。

3年前に閉鎖されました。


この質問を改善する

1000個のファイルを含むフォルダがあります。

彼らの名前は以下のようなものです

P1_A1 _R2…。

P1_A2 _R2…。

P1_A3 _R2…。

強調表示されているように、真ん中だけが重要です

そして私はキー.txtを持っています この情報と同じフォルダ内のファイル

Sample  P   R   Col
    1   1   A   1
    2   1   A   2
    3   1   A   3

.txtを確認したい ファイルを作成し、それに応じてファイルの名前を変更するか、別のフォルダに名前を付けて保存します。たとえば

.._ P1_A1 _ ..

sample1である必要があります .txtを見ると ファイル、それは

Sample  P   R   Col
    1   1   A   1


.._ P1_A2 _ ..

sample2である必要があります .txtを見ると ファイル、それは

Sample  P   R   Col
    2   1   A   2

承認された回答:

すべての名前が一意であると安全に推測できる場合、名前に_P1_A1が含まれているファイルは1つだけであることを意味します。 、_P1_A2が1つだけ など、これを行うことができます:

$ awk 'NR>1{print "mv *_P"$2"_"$3$4"* sample"$1}' key.txt 
mv *_P1_A1* sample1
mv *_P1_A2* sample2
mv *_P1_A3* sample3

Awkは入力を1行ずつ読み取り、空白のフィールドに分割します。したがって、最初のフィールドは$1です。 、2番目の$2 ここでは、キーファイルを処理し、正しいmvを出力しています。 ファイルのフィールドからビルドしてコマンドを実行します。

確かにmv 印刷されたコマンドは正しいので、次のコマンドで実行できます:

awk 'NR>1{system("mv *_P"$2"_"$3$4"* sample"$1)}' key.txt

Ubuntu
  1. LinuxファイルでACLを表示または変更する方法

  2. 複数のファイルの拡張子を変更するにはどうすればよいですか?

  3. フォルダ内の不足しているファイルの名前を印刷するにはどうすればよいですか?

  1. .htaccessファイルのmemory_limitを変更する方法

  2. 名前にスペースが含まれるフォルダのパスを書き込む方法は??

  3. ホスト名を変更する方法は?

  1. 単一のファイルの権限を変更するにはどうすればよいですか?

  2. Kateエディタでシステムファイルを編集する方法は??

  3. 永続的なLiveusbに保存されたファイルにアクセスするにはどうすればよいですか?