如何使用shell检查特定文件夹中是否存在文件格式

时间:2014-08-13 07:01:42

标签: shell

我想使用if条件从表中删除记录。 例如: if() 然后      从tablename中删除文件代码,例如'%A%';      承诺; 结束如果;

if条件是要检查还是特定的文件格式 因此有可能有3种文件格式说(A.csv,B.CSV,C.CSV)到达/ a / b / input目录 表中的列filcode将保存从中获取记录的文件名。

以上脚本将在位置/ a / b / scripts目录

中运行

3 个答案:

答案 0 :(得分:0)

试试这个:

#!/bin/sh
if [ -f /a/b/input ]; then
   sh /a/b/scripts/your-script
fi

或者这个:

test -f /a/b/input && sh /a/b/scripts/your-script

答案 1 :(得分:0)

也许您只想要的是这样的脚本。它检查给定文件是否存在。

#!/bin/sh
file=$1
if [ -e "$file" ]; then
    echo "File $file exists."
fi

或者只是

#!/bin/sh
[ -e "$1" ] && echo "File $1 exists."

将脚本以UNIX格式保存在/a/b/scripts /a/b/scripts/check_file_exists.sh中,然后运行:

sh /a/b/scripts/check_file_exists.sh /a/b/input/somefile.ext

答案 2 :(得分:0)

检查文件格式的unix程序称为file。要在目录/a/b/input中查看所有文件格式(列为mime-types),请运行:

file -L --mime-type /a/b/input/*

如果您只想选择该目录中具有jpeg文件格式的文件,请运行:

file -L --mime-type /a/b/input/* | grep 'image/jpeg'