我试图用“comm”来比较2个文件,并保存它们之间的区别是在第三个文件中,如下面的示例。通用命令和diff命令上的Bash Shell Systax错误
if [ -e "$updated_file_name_$day$month$year.txt"];
then
comm -3 < (sort $updated_file_name".txt") < (sort $updated_file_name_$day$month$year.txt) > $updated_file_name_$day$month$year_V$i.txt
else
mv $updated_file_name".txt" $updated_file_name_$day$month$year.txt
fi
它搜索或文件的以前版本,如果它发现它比这两个文件都应该进行分类和比较,比的结果将被保存在第三个文件,否则它只是保存新文件作为该日期的原始文件。
我在shell控制台上用它作为“bash -c'comm -3 [命令的其余部分]”,它工作正常,但无论出于何种原因,它在我的脚本上不工作,我总是得到错误的语法错误。
我也用“差异,而不是‘COMM尝试’,但我得到同样的,我不`吨知道是什么问题
以下是错误消息:
bash: -c: line 0: syntax error near unexpected token `('
bash: -c: line 0: `diff < (sort $updated_file_name".txt") < (sort $updated_file_name"_"$day$month$year.txt) > $updated_file_name"_"$day$month$year_V$i".txt"'
说什么错误消息的变量? – suleiman
问题已更新。 –
我相信流程替代是没有空格的。也许'<(command)'而不是'<(command)'? – odradek