㈠ shell 中如何用for语句同时搜索两个文件夹内的所有文件,并进行文件比较,急用,希望高手解答,谢谢
不考虑子文件夹。
先用ls命令枚举其中一个文件夹内的所有文件(用数组记录文件名)。
cd 目录1
declare -a array=(`ls`)
然后在枚举另一个文件夹时用for循环与数组元素逐个比较。
cd 目录2
for file2 in *
do
isFound=0
for file1 in ${array[*]}
do
if [ "$file2" = "$file1" ]; then
diff -y --suppress-common-lines 目录1/$file1 目录2/$file2
isFound=1
fi
done
[ $isFound -eq 0 ] && echo "目录2下的$file2文件在目录1下不存在!"
done
当然,还有一种情况我没有处理,即目录1下的内容在目录2中不存在。
㈡ shell for循环 读取文件 加上(i++等)急!!
for ((i=1;i<3;i++))
do
echo $i;
done;
㈢ shell for循环读文件,拼接字符串赋值给变量
OPTS="$(cat opt/aaa.ini) "
只需要这样就是读取所有数据放到OPTS
㈣ 如何用Shell逐行读取文件
这个的话写一个for循环就可以了 假设你的文件是file,里面有n行 在bash环境中 for i in `cat file`doecho $idone!