loop なしの one liner で題名のようなことをやるにはどうすれば良いでしょうか?
サブディレクトリの一番下にあるファイルを unzip したいです。
- 環境
Debian 10
Bash Version: 5.0-4
#!/bin/bash function sample_generate (){ for i in {0..3} do filepath=foo$i/var/$i mkdir -p $(dirname $filepath) touch $filepath; zip -1 $filepath.zip $filepath rm $filepath done mkdir -p phya/var } # preparation mkdir tmp_20210207 cd tmp_20210207 sample_generate # $(dirname TARGET) が正しく置換されない find . -type f | xargs -t -ITAGET unzip -qq -d $(dirname TARGET) TARGET # clean up cd .. rm -r tmp_20210207
実行結果
yosuke@x250:~/Data/finance/edinet$ bash test.sh adding: foo0/var/0 (stored 0%) adding: foo1/var/1 (stored 0%) adding: foo2/var/2 (stored 0%) adding: foo3/var/3 (stored 0%) unzip -qq -d . TARGET unzip: cannot find or open TARGET, TARGET.zip or TARGET.ZIP. unzip -qq -d . TARGET unzip: cannot find or open TARGET, TARGET.zip or TARGET.ZIP. unzip -qq -d . TARGET unzip: cannot find or open TARGET, TARGET.zip or TARGET.ZIP. unzip -qq -d . TARGET unzip: cannot find or open TARGET, TARGET.zip or TARGET.ZIP.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/07 03:38 編集