美文网首页Shell脚本小工具
Shell脚本判断文件是否存在

Shell脚本判断文件是否存在

作者: SpaceCat | 来源:发表于2018-10-20 01:43 被阅读24次

通过git命令统计出了我在某个分支上改动的所有文件列表(文件路径是以和git工作区根目录的相对路径保存的),写入了一个文件all.txt。但是,随即发现,这个列表中的某些文件是我在开发过程中新建,然后有删除的,现在工作区中并不存在这个文件。
由于工作区的目录层级比较多,文件也比较多,挨个检查基本是不可能的。于是,写了下面的脚本,放在git工作区的根目录运行,就能够找出那些不存在的文件:

test_exists.sh:

cat all.txt |
while read file_name;
do
    if [ -e $file_name ]; then
        echo "$file_name"
    else
        echo "   not exist: $file_name"
    fi;
done

这个脚本中就用到了一个知识点,就是shell如何判断文件存在。下面是一个运行的例子:

$ ls
a.txt       all.txt     b.txt       test_exists.sh
$ cat all.txt 
a.txt
all.txt
b.txt
merge.sh
$ sh test_exists.sh 
a.txt
all.txt
b.txt
   not exist: merge.sh
$ 

然后,通过vim的简单排序,去重命令,可以对这些结果进行筛选和简单处理。

相关文章

网友评论

    本文标题:Shell脚本判断文件是否存在

    本文链接:https://www.haomeiwen.com/subject/cjdpzftx.html