在linux系统中写一个脚本,该脚本可以把SUM文件下的所有以S为后缀的文件夹的绝对路径输出成一个文本文件FILE,随后根据FILE中相应的绝对路径,依次按顺序选取2个文本文件,从这两个文本文件中选取出的字符串AAAA和BBBB,并将AAAA和BBBB声明成变量A和B,然后进行对比这A和B这两个变量的大小,并输出结果,这个变量大小按照FILE中路径的个数进行循环对比,直到所有的绝对路径都被对比完成,输出“完成数据对比”
时间: 2024-02-11 14:07:01 浏览: 75
Soma.rar_SUM_soma
好的,以下是一个可能的脚本实现:
```bash
#!/bin/bash
# 遍历SUM文件夹下所有以S为后缀的文件夹,输出其绝对路径到FILE
find /path/to/SUM -type d -name "*S" -printf "%p\n" > FILE
# 读取FILE中所有路径到数组paths
mapfile -t paths < FILE
# 对每个路径进行循环处理
for ((i=0; i<${#paths[@]}-1; i++)); do
# 选取路径下的前两个文本文件
files=( "${paths[i]}"/*.txt )
if (( ${#files[@]} < 2 )); then
# 如果不足两个文件则跳过
continue
fi
# 读取选取的两个文件的第一行到变量A和B
A=$(head -n 1 "${files[0]}")
B=$(head -n 1 "${files[1]}")
# 比较A和B的大小
if [[ "$A" -gt "$B" ]]; then
echo "$A > $B"
elif [[ "$A" -lt "$B" ]]; then
echo "$A < $B"
else
echo "$A = $B"
fi
done
echo "完成数据对比"
```
需要将 `/path/to/SUM` 替换成实际的SUM文件夹的路径。这个脚本会将所有符合条件的路径输出到FILE中,然后逐个处理每个路径,选取前两个文本文件并进行对比,最后输出“完成数据对比”。
阅读全文