我有一个5530的zip文件,这个文件全部以某种风格命名。 例如:
monatswerte_RR_02076_19370101_19701230_hist.zip
现在我只想提取在5位数字模式的〜250行长列表(ids.txt)中的任何条目的“RR_”之后的5位数模式中匹配的文件。 我试图用bash脚本来解决这个问题,但是这不起作用:
for i in "ls"; do if [[$i ==*"cat ids.txt"*]]; then "unzip $i" fi; done
ids.txt的一些行:
〜»cat Dokumente / Schneehydro / historical / ids.txt 00013 00050 00085 00107 00108 … 05691 05804 05874 15574
bash
+ grep
解决方案:
for f in *_RR_[0-9]*.zip; do num="${f#*_RR_}" num=${num:0:5} grep -qx "$num" ids.txt && unzip -q "$f" done