カレントディレクトリに7つのディレクトリがあり、各ディレクトリにtsvファイルが格納されています。
すべてのtsvファイルは同じ名前がついています。
bash
1$ $ ls */*.tsv 2SRR1550989/abundance.tsv SRR1551005/abundance.tsv SRR1551011/abundance.tsv SRR1551050/abundance.tsv SRR1551057/abundance.tsv SRR1551071/abundance.tsv SRR1551091/abundance.tsv
各tsvファイルの名前の先頭に各ディレクトリの名前を追加する作業をbash上で行いたいのですが、方法を教えて頂けないでしょうか。
下記の様に、ディレクトリの名前と無関係な連番をつける方法は分かるのですが、
bash
1ls */*.tsv | awk '{ printf "mv %s test%03d.png\n", $0, NR }' 2mv SRR1550989/abundance.tsv test001.png 3mv SRR1551005/abundance.tsv test002.png 4mv SRR1551011/abundance.tsv test003.png 5mv SRR1551050/abundance.tsv test004.png 6mv SRR1551057/abundance.tsv test005.png 7mv SRR1551071/abundance.tsv test006.png 8mv SRR1551091/abundance.tsv test007.png
入力値を使ってファイル名を変更する方法が知りたいです。
readコマンドとパイプを使ってなんとかできるのではと思っているのですが、、、、