要创建一个Shell脚本来逐行读取文本文件中的文件名,并确认这些文件是否存在于两个不同的目录中,你可以使用以下脚本:
#!/bin/bash
# 定义两个目录路径
dir1="/path/to/first/directory"
dir2="/path/to/second/directory"
# 检查两个目录是否存在
if [ ! -d "$dir1" ] || [ ! -d "$dir2" ]; then
echo "One or both directories do not exist."
exit 1
fi
# 读取文件名列表文件
file_list="path/to/your/filelist.txt"
# 检查文件列表是否存在
if [ ! -f "$file_list" ]; then
echo "File list does not exist."
exit 1
fi
# 逐行读取文件名并检查两个目录
while IFS= read -r filename; do
if [ -f "$dir1/$filename" ] && [ -f "$dir2/$filename" ]; then
echo "$filename exists in both directories."
else
echo "$filename does not exist in both directories."
fi
done < "$file_list"
while IFS= read -r line
循环逐行读取文件内容。[ -f filename ]
检查文件是否存在。if [ ! -d "$dir" ]; then
检查目录是否存在。if [ ! -f "$file_list" ]; then
检查文件列表是否存在。IFS=
来防止读取时因为空格而分割文件名。这个脚本可以帮助你自动化检查文件是否存在于两个不同的目录中,适用于文件管理和数据验证等场景。
领取专属 10元无门槛券
手把手带您无忧上云