我想使用shell脚本遍历目录中存在的所有文件。此外,我想显示每个文件的内容。我将目录作为命令行参数传递。
我有一个简单的循环如下:
for file in $1
do
cat $file
done
如果我跑
sh script.sh test
其中test是一个目录,我只得到第一个文件的内容。
有人可以帮我吗?
答案 0 :(得分:1)
尝试类似:
for file in $1/*
do
if [[ -f $file ]] ##you could add -r to check if you have read permission for file or not
then
cat $file
fi
done
答案 1 :(得分:1)
紧凑修改SMA的代码:
for file in $1/*
do
[[ -f $file ]] && cat $file
done
或使用find:
find $1 -type f -exec cat \{\} \;