0

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

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

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

如果不是,则在显示消息上显示。

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

谢谢!

4

1 回答 1

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。我假设您知道诸如-e和之类的事情File::Slurp?这在 perl 中是非常简单的。

于 2013-10-25T19:27:29.187 回答