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



我有一个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 作为提取文件创建输出文件different_file_name.dat到输出目录:/home/ict/data/

选定的Type_2选择/home/ict/extract/file2.csv 作为 Extract 文件创建输出文件different_file_name2.dat到输出目录:/home/ict/data/"

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

如果没问题,请将文件从/home/ict/data 作为附件发送电子邮件

如果没有,则在显示消息时显示。

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

谢谢!

一般来说,

表明你已经解决了问题并发布一些你正在使用的代码,而不是要求别人为你编写它被认为是很好的形式。我会为你指出正确的方向:

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中是相当微不足道的。

最新更新