電子書籍の厳選無料作品が豊富!

Redhat系のLinuxのPCで、以下のようなディレクトリ構成になっている場合、『A.txt』というのを名前を変更して一気にコピーしたいのです。

<ファイル構成>
FolderA-------- 11111111----A.txt
|---- 22222222----A.txt
|---- 33333333----A.txt
|---- 44444444----A.txt

こういった「11111111」・・・といったディレクトリが100以上あります。
このディレクトリの下に名前は全て『A.txt』というのがあるので、このテキストファイルを『11111111.txt』とディレクトリの名前に変更して、別に作ったディレクトリ内(「FolderB」とします)に一気にコピーしたいということです。

色々考えたのですがよく分からなくなってしまいました。
どなたか教えていただけるとありがたいです。
どうぞよろしくお願いします。

A 回答 (2件)

/FolderA/★★★/A.txt を /FolderB/★★★.txt にコピーするということでしょうか?



cd /FolderA
for dir in *
do test -f $dir/A.txt && cp -p $dir/A.txt /FolderB/$dir.txt
done
    • good
    • 0
この回答へのお礼

この度は、丁寧に教えていただきありがとうございました。
教えていただいたとおりやりましたら、無事処理できました。
本当にありがとうございました。

お礼日時:2019/04/22 11:35

そう何度も実行しない、ってことなら、私なら、


ls や find で一覧取得→sedまたはエディタで mv 元の名前 新しい名前 となるように置換 → sh で実行
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
今回はartooさんに教えていただいたやり方でやらせていただきましたが、shで実行という考え方はなかったので大変勉強になりました。

お礼日時:2019/04/22 11:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!