我想在find命令返回的zip文件上使用awk命令,並將zip文件中的某些特定列轉儲到與zip文件具有相同層次結構的新文件中。在壓縮文件上使用awk查找命令
例如,我有一個像結構:
/2017/05/25/GAURshvol20170525.txt.zip
/2017/05/26/GAURsh20170526.txt.zip
/2017/05/26/GUPTsh20170526.txt.zip
/2017/05/26/GUPTshvol20170526.txt.zip
/2017/05/26/GAURshvol20170526.txt.zip
/2017/05/30/GAURshvol20170530.txt.zip
/2017/05/30/GAURsh20170530.txt.zip
/2017/05/30/GUPTsh20170530.txt.zip
/2017/05/30/GUPTshvol20170530.txt.zip
/2017/05/31/GAURsh20170531.txt.zip
/2017/05/31/GUPTsh20170531.txt.zip
/2017/05/31/GUPTshvol20170531.txt.zip
而且在壓縮文件內的每個文件我遇到了下列數據:
20170601|A|69636|122548|Z
20170601|AA|67544|128724|Z
20170601|AAAP|453|1306|Z
20170601|AAC|5840|8962|Z
20170601|AADR|1925|1925|Z
20170601|AAL|289708|344209|Z
20170601|AAMC|10|15|Z
20170601|AAME|100|200|Z
20170601|AAN|44851|72461|Z
20170601|AAOI|42836|82801|Z
20170601|AAON|3417|4127|Z
20170601|AAP|71212|85414|Z
20170601|AAPL|528135|1213451|Z
20170601|AAT|7742|10104|Z
20170601|AAU|2200|2700|Z
20170601|AAV|2746|6797|Z
20170601|AAWW|4662|7298|Z
20170601|AAXJ|54464|57764|Z
20170601|AAXN|45497|48611|Z
現在,我想取從上面的一些特定的列,並將這些轉儲到具有相同類型層次結構的新目錄中的新文件中,就像我已經將數據轉儲到目錄abcd中一樣,那麼層次結構應該類似於
gaur/2017/05/25/GAURshvol20170525.txt
gaur/2017/05/26/GAURsh20170526.txt
gaur/2017/05/26/GUPTsh20170526.txt
gaur/2017/05/26/GUPTshvol20170526.txt
gaur/2017/05/26/GAURshvol20170526.txt
gaur/2017/05/30/GAURshvol20170530.txt
gaur/2017/05/30/GAURsh20170530.txt
gaur/2017/05/30/GUPTsh20170530.txt
gaur/2017/05/30/GUPTshvol20170530.txt
gaur/2017/05/31/GAURsh20170531.txt
gaur/2017/05/31/GUPTsh20170531.txt
gaur/2017/05/31/GUPTshvol20170531.txt
我想下面的命令,(目前我的PWD是2017年和野牛父目錄):
find -name 'GAUR*.zip' -exec awk -F"|" '{print $2,$3 > (FILENAME "-new")}' {} +
其導致無限期等待。我更喜歡在查找部分使用正則表達式,如果有人可以請,因爲我用過。
find . -regex '.^GAUR*\.\(zip\|\)'
但失敗。
檢查的'組合用'-exec'選項調用'zcat | awk'找到''可以工作。 –