查找目录下同名但不同后缀名文件的Shell脚本代码攻略
要编写一个Shell脚本来查找目录下同名但不同后缀名的文件,可以按照以下步骤进行:
- 获取用户输入的目录路径。
- 遍历目录下的所有文件。
- 提取文件名和后缀名。
- 使用关联数组(associative array)来存储同名文件的后缀名。
- 输出同名但不同后缀名的文件。
下面是一个完整的Shell脚本代码示例:
#!/bin/bash
# 获取用户输入的目录路径
read -p \"请输入目录路径: \" directory
# 遍历目录下的所有文件
for file in \"$directory\"/*; do
# 提取文件名和后缀名
filename=$(basename \"$file\")
extension=\"${filename##*.}\"
filename=\"${filename%.*}\"
# 使用关联数组来存储同名文件的后缀名
if [[ -n ${files[$filename]} ]]; then
files[$filename]+=\" $extension\"
else
files[$filename]=$extension
fi
done
# 输出同名但不同后缀名的文件
for filename in \"${!files[@]}\"; do
extensions=\"${files[$filename]}\"
count=$(echo \"$extensions\" | wc -w)
if [[ $count -gt 1 ]]; then
echo \"文件名: $filename\"
echo \"后缀名: $extensions\"
echo
fi
done
示例说明
示例一
假设目录路径为/home/user/documents
,该目录下有以下文件:
file1.txt
file1.doc
file2.txt
file2.pdf
file3.txt
运行脚本后,输出如下:
文件名: file1
后缀名: txt doc
文件名: file2
后缀名: txt pdf
脚本找到了同名但不同后缀名的文件file1.txt
和file1.doc
,以及file2.txt
和file2.pdf
。
示例二
假设目录路径为/home/user/pictures
,该目录下有以下文件:
image1.jpg
image1.png
image2.jpg
image3.png
运行脚本后,输出如下:
文件名: image1
后缀名: jpg png
脚本找到了同名但不同后缀名的文件image1.jpg
和image1.png
。
这些示例说明了脚本如何在给定目录下查找同名但不同后缀名的文件,并输出它们的文件名和后缀名。你可以根据需要修改脚本以适应不同的情况。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:查找目录下同名但不同后缀名文件的shell脚本代码 - Python技术站