假设有两个文本文件,我需要检查它们是否不同。如果它们不同,我需要对它们进行一些更改,并在终端上显示信息。
这样的操作是否可行?
这样的操作是否可行?
diff file1.txt file2.txt > difference.txt
if [ -s difference.txt ]
then
.....
else
.....
fi
我也尝试着寻找其他在bash中编写此代码的方法,最终找到了以下代码:
DIFF_OUTPUT="$(diff new.html old.html)"
if [ "0" != "${#DIFF_OUTPUT}" ]; then
但我不太明白它的意思。 我猜第一行我们创建一个变量 DIFF_OUTPUT,它的作用就像我的代码中的 difference.txt 一样? 然后有 ${#DIFF_OUTPUT} 这个我完全不明白。这是怎么回事?
如果我的问题很基础,我道歉了,但我在其他地方找不到答案。
DIFF_OUTPUT=( "$(diff new.html old.html)" )
用于将DIFF_OUTPUT
变成一个数组,其中包含所有diff
输出的行作为元素吗? - David C. Rankin{#}
一点也不难。总共出现了六次。 - 4ae1e1[ "${#DIFF_OUTPUT}" -ne 0 ]
,而不是!=
,因为后者是用于字符串比较的。(这主要是养成好习惯,而不是在这种情况下严格必要的。) - chepner