我使用bash脚本检索两个文本文件之间的差异:
# Do the match between the text files
echo " "
echo "match with diff: "
echo " "
diff -s FromRucio_$NAME.txt FromFolder_$NAME.txt
diff -q FromRucio_$NAME.txt FromFolder_$NAME.txt
echo ""
echo "this is the missing files between the files"
echo "sample: $NAME n" >> totalresult_test.txt
sort FromRucio_$NAME.txt FromFolder_$NAME.txt|uniq -u >> totalresult_test.txt
# diff --brief <(sort file1) <(sort file2)
echo "_____________________________________________________________________________________"
echo " "
注意:diff命令被执行,但是当diff -s传递diff -q时会产生一些输出,反之亦然。如何才能避免这种情况?我的意思是,当其中一个生成输出并传递下一个命令diffline时,生成一个布尔条件。
我想创建一个条件(可能只是一个布尔变量驱动)检索输出信息从"sort(…)"diff -q命令起作用时的行
我希望在totalresul_test.txt中添加新的行,其中包含样例名称和从sort-line bash命令中丢失的查找文件。}
对
你只需要"diff -q"测试布尔测试
$ ?不同时为1,相同时为0。
你可以围绕它构建你的逻辑。
#!/bin/sh
diff -q test_45.sh test_45_dup.sh >>/dev/null
if [ $? -eq 1 ]
then
echo "report diff"
else
echo "no action"
fi