[英]Sorting and diff of CSV file using bash script
我正在尝试比较两个排序的 csv 文件:
for filename in `ls "$1"/dev`
do
dev_file="$1/dev/$filename"
ccu_file="$1/ccu/$filename "
echo "diff of $dev_file ...and......$ccu_file"
result=$(diff <(sort $dev_file) <(sort $ccu_file ))
if [ $? -eq 0 ]
then
echo "files are the same"
else
echo "files are different"
echo "$result"
fi
done
看来,有语法错误:
test.sh: command substitution: line 6: syntax error near unexpected token `('
test.sh: command substitution: line 6: `diff <(sort $dev_file) <(sort $ccu_file )'
任何帮助,将不胜感激。 谢谢你。
您可以像这样比较两个文件:
if cmp -s file1.csv file2.csv; then
echo files are identical
else
echo files are different
fi
从您的脚本来看,您似乎想将dev/
每个 csv 文件与ccu/
的同名文件进行ccu/
。 你可以这样做:
#!/bin/bash
cd "${1:?}/dev" && [[ -d ../ccu ]] || exit 1
for i in *.csv; do
if [[ -e ../ccu/"$i" ]]; then
if cmp -s "$i" ../ccu/"$i"; then
echo files "$i" and ../ccu/"$i" are identical
else
echo files "$i" and ../ccu/"$i" are different
fi
else
echo "../ccu/$i: not found" >&2
fi
done
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.