ファイル名キーワード(ID)がテキストファイルにリストされている何百ものファイルを移動する方法は?

ファイル名キーワード(ID)がテキストファイルにリストされている何百ものファイルを移動する方法は?

名前にID番号があり、その番号がテキストファイルに1行ずつリストされている何百ものファイルを移動する必要があります。

たとえば、

The content of `ID.txt`:

1231245
1435466
3454656
3356646

移動する必要があるファイル:

1231245_134.fasta
1231245_134.dna
1435466_345.fasta
1435466_345.dna
3454656_789.fasta
3454656_789.dna
3356646_104.fasta
3356646_104.dna

ベストアンサー1

(シェルが「プロセス置換」を提供している場合)どうですか?

. <(sed 's/^/echo mv /; s/$/* \/target/' ID.txt)

結果が満足な場合は、エコーを削除してください。

編集する(Stefan Chazerasが提案)

sed 's|.*|mv -- &_* /target/|' ID.txt | sh -v -n

-n結果が満足であれば削除してください。

おすすめ記事