版权声明:本文为博主原创文章,如未特别声明,均默认使用CC BY-SA 3.0许可。 https://blog.csdn.net/Geek_of_CSDN/article/details/82059333
首先创建一个.sh
文件,然后编辑里面的内容:
#!bin.sh
for file in ./*
do
echo "">>$file
done
保存之后sh xxx.sh
就行了(xxx.sh
换成你的文件名)。
解释:
第一行其实就是写来表明这是一个bash文件,和python的第一行意义差不多。
其实linux的for循环有三种,一种是列表for循环、不带列表for循环、类似c的for循环。上面用到的就是列表for循环,学过python的话就会觉得这种写法很熟悉了。这里的for file in ./*
会将当前目录下所有的文件名字传给变量file
。
echo "">>$file
就是将空行添加到变量$file
(加上$
才是代表变量)末尾,注意要是>>
而不是>
,如果是>
的话就会把原来文件里面的内容全部覆盖成现在输入的内容。具体用法自己查echo
的用法。
但是这样还不是不够完美,如果目录下出现了子目录的话上面的脚本就不能用。这时候就要对文件类型进行检测,如果是目录的话就自动跳过:
#!bin.sh
for file in ./*
do
if test -f $file
then
echo "">>$file
fi
done
上面的判断条件就是,当输入的文件名确实是文件而不是目录的时候,就执行echo
命令。
参考
Linux for循环之列表for循环:大部分内容都是基于这篇文章的
shell编程–遍历目录下的文件