目录中的csv文件列表需要验证。每列应通过自己的验证;因此$ 1是第一个coulmn,它不应该为空等等......shell/linux脚本只能选择某些文件到FTP
在csv文件为每列传递每个验证之后,它被认为是一个好文件。现在我该如何去提取这些好文件,以便我可以将它们ftp到另一个位置?
我应该在每次验证后对每个文件进行ftp吗? (太多时间了?)
创建好文件的名称列表并将其传递到数组中,以便稍后将其传递给数组以便将其传递给ftp?
这是我迄今的尝试。
#!/bin/sh
for file in /source/*.csv
do
awk -F',' '{
$date_regex = '~(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d~';
if (length($1) == "")
break
if (length($2) == "") && (length($2) > 30)
break
if (length($3) == "") && ($3 !~ /$date_regex/)
break
if (length($4) == "") && (($4 != "S") || ($4 != "E")
break
if (length($5) == "") && ((length($5) < 9 || (length($5) > 11)))
break
}' file
#whatever you need with "$file"
done
+0
我想无论哪种方式1或2是好的。你不知道如何实现它,或者你想知道哪种方式更好? –
2015-01-26 18:07:59
+0
我不知道如何实现它,我是新的shell脚本,任何洞察力将不胜感激 –
2015-01-26 18:10:48
+0
验证脚本不工作,工作awk代码,无论是。也许可以先决定是否需要该部分的帮助,或者是否需要FTP部分的帮助,在这种情况下,可以使用更简单但工作的占位符脚本替换Awk脚本。 –
2015-01-26 18:20:38