我必须执行逐行读取 CSV 文件的 Shell 代码,检查某些列值中的每一行并根据条件制作另一个新的 CSV 文件。
我已经开始这样的代码:
FileName=$1
while read line
do
zcat FileName awk -F'\t' '$3 ~/.jar/ || $3 ~/.msi/ || $3 ~/.dll/ || $3 ~/.cab/ || $3 ~/.exe/ || $3 ~/.rar/ || $3 ~/.mar/ || $3 ~/.tgz/ || $3 ~/.tar/ || $3 ~/.gz/ || $3 ~/.upd/ || $3 ~/.bin/ || $3 ~/.zip/ || $3 ~/.pogo/ || $3 ~/.dcr/ || $3 ~/.qgi/ || $3 ~/.deb/ || $3 ~/.ipa/ || $3 ~/symantec/ || $3 ~/windowsupdate/ || $3 ~/kaspersky/ || $3 ~/adobe.com/ && $42 ~/7/ && $15 ~/androiddownloadmanager/ && $15 ~/.apk/ && $15 ~/.pak/ && $15 ~/.vpx/ {Str="SW Download: " $3;Str>> New.csv} '
echo "$line" >> new2.csv
done < FileName
注意:文件名为 .gz 。
(1) 我收到错误:“意外标记‘完成’附近的语法错误”。
(2)我想检查新的 csv 是否会完成并包含行。
谢谢