Unix - 比较脚本生成的文件的脚本 - 检查这些文件是否具有相同的记录数

时间:2013-10-14 09:51:16

标签: file unix compare wc

我有一个perl脚本从以下路径获取文件:/ home / ict / extract,当我运行这个perl脚本时 - >这个perl脚本有3个选项,如果我选择所有这3个选项,这个脚本将创建3个文件 - 如果我选择2个选项,它将只生成2个文件 - >在以下路径/ home / ict / data。此脚本还会生成一个包含以下输出的日志文件:

记录2个操作:Type_1和Type_2(如果有3种类型,我们将在此日志文件中有另一行)

“选择的Type_1 选择/home/ict/extract/file.csv作为提取文件 在输出目录中创建outputfile different_file_name.dat:/ home / ict / data /

选择Type_2 选择/home/ict/extract/file2.csv作为提取文件 在输出目录中创建outputfile different_file_name2.dat:/ home / ict / data /“

我想比较原始文件中的记录数(来自/ home / ict / extract与/ home / ict / data中的记录数相同)(处理的原始文件和文件是最后创建的文件)

如果没问题,请发送电子邮件,其中包含来自/ home / ict / data的文件作为附件

如果没有,请在显示消息上显示。

我知道我必须使用wc -l,但我是新手。

谢谢!

1 个答案:

答案 0 :(得分:0)

通常情况下,表示您已经解决了一些问题并发布了一些您正在使用的代码而不是要求某人为您编写代码,这被认为是一种好的形式。我会指出你正确的方向:

ORIGINAL_FILE=/home/ict/file.txt
if [ -e $ORIGINAL_FILE ]; then
    ORIGINAL_FILEWC=`wc -l "$ORIGINAL_FILE"`
elif
    echo "oops, missing orig file"
    exit 255
fi

NEW_FILE=/home/ict/file_new.txt
if [ -e $NEW_FILE ]; then
    NEW_WC=`wc -l "$NEW_FILE"`
elif
    echo "oops, missing new file"
    exit 255
fi

if [ $NEW_WC -eq $ORIGINAL_WC ]; then
    echo "You would put some code here for the files being equal length"
elif
    echo "Looks like they're not equal."
fi

我很好奇为什么你不会在perl中这样做。我假设您了解-eFile::Slurp等内容?这在perl中非常简单。