teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記事項に対応し、なおかつ冗長なコードを整理

2020/04/30 11:23

投稿

KojiDoi
KojiDoi

スコア13727

answer CHANGED
@@ -5,4 +5,12 @@
5
5
  "/e; print "mv $f $_\n"' | sh
6
6
  ```
7
7
 
8
- シェルスクリプトを介さずともperlの中で処理を完結させることもできますが、実行する前に前後のステップの確認もしたいところでしょうし、perlに慣れていないならこのパターンが安全かなと思いました。
8
+ シェルスクリプトを介さずともperlの中で処理を完結させることもできますが、実行する前に前後のステップの確認もしたいところでしょうし、perlに慣れていないならこのパターンが安全かなと思いました。
9
+
10
+ # 追記事項に対応し、なおかつ冗長なコードを整理
11
+
12
+ ```
13
+ ls /file/*/*.csv | perl -pe 'BEGIN{%x=(somu=>"01",keiri=>"02")} chomp; $f=$_; s{(.*)/(..)._([a-z]+)_.*}{"mv $f $1/XXXX$x{$3}$2.csv"}e' > test.sh
14
+ ```
15
+
16
+ できたtest.shをシェルスクリプトとして実行。