Linux bashshell检查每个文件的大小是否为空

Linux bashshell检查每个文件的大小是否为空,linux,bash,shell,Linux,Bash,Shell,需要开始在bash中创建脚本,这是我以前从来并没有做过的,所以请原谅,若我对某些事情一无所知的话,这对你们中的一些人来说可能是显而易见的 使用bash脚本(.sh),我需要获得一组符合特定命名模式的文件,并确定它们是否为空 我知道我可以通过使用-s file代码检查文件是否为空,但是我如何循环目录中的所有文件并检查这个 例如,我需要获取目录中与pattern*Export*UK*.csv匹配的所有文件,并检查每个文件是否为空,因此在伪代码中为空 if [[ -s FILE_NAME_HERE ]

需要开始在bash中创建脚本,这是我以前从来并没有做过的,所以请原谅,若我对某些事情一无所知的话,这对你们中的一些人来说可能是显而易见的

使用bash脚本(.sh),我需要获得一组符合特定命名模式的文件,并确定它们是否为空

我知道我可以通过使用
-s file
代码检查文件是否为空,但是我如何循环目录中的所有文件并检查这个

例如,我需要获取目录中与pattern
*Export*UK*.csv
匹配的所有文件,并检查每个文件是否为空,因此在伪代码中为空

if [[ -s FILE_NAME_HERE ]]
then
    # file is not empty, do this
else
    # file is empty, do that instead
fi

您可以使用
测试-s$file
(又称
[-s$file]
),它返回“如果文件存在且大小大于零,则返回true”。要遍历文件,您需要以下内容:

for file in /your/base/directory/*Export*UK*.csv; do
    if [ -s "$file" ]; then
        # non-empty
    else
        # empty
    fi
done

如果文件在当前目录中,您可以将*Export*UK*.csv中的文件的绝对路径替换为

您可以使用
测试-s$file
(又称
[-s$file]
)返回“如果文件存在且大小大于零,则返回true”。要遍历文件,您需要以下内容:

for file in /your/base/directory/*Export*UK*.csv; do
    if [ -s "$file" ]; then
        # non-empty
    else
        # empty
    fi
done
如果文件位于当前目录中,则可以将*Export*UK*.csv中的文件的绝对路径替换为

尝试
查找
-

find ~/location -print0 -type f -name "*Export*UK*.csv" -empty | xargs -0 **do this**
find ~/location -print0 -type f -name "*Export*UK*.csv" -not -empty | xargs -0 **do that instead**
当然,使用
if的循环更好,但这是另一种方法。

尝试
查找
-

find ~/location -print0 -type f -name "*Export*UK*.csv" -empty | xargs -0 **do this**
find ~/location -print0 -type f -name "*Export*UK*.csv" -not -empty | xargs -0 **do that instead**

当然,使用
if
循环更好,但这是另一种方式。

。。它类似于*Export*UK*.csv中f的
;do if..fi done
旁注:现在几乎所有现代系统都支持的不仅仅是“bash”。所以,如果你不太渴望学习bash。。。使用python之类的语言可能会让您感觉更好。这使得编程体验大不相同。@GhostCat-我同意。然而,我不是这个系统的所有者。不幸的是,我必须处理我得到的东西。然后编写一个调用python脚本的bash脚本;-)。。它类似于*Export*UK*.csv中f的
;do if..fi done
旁注:现在几乎所有现代系统都支持的不仅仅是“bash”。所以,如果你不太渴望学习bash。。。使用python之类的语言可能会让您感觉更好。这使得编程体验大不相同。@GhostCat-我同意。然而,我不是这个系统的所有者。不幸的是,我必须处理我得到的东西。然后编写一个调用python脚本的bash脚本;-)提示:添加-类型f。。。不需要找到任何东西,但文件@幽灵猫是的,那更具体。还添加了要搜索的路径。谢谢。等待有人抱怨这对包含空格的文件名不起作用(使用
-print0
find
以及
-0
xargs
)@SeanBright,好了,谢谢!提示:添加-类型f。。。不需要找到任何东西,但文件@幽灵猫是的,那更具体。还添加了要搜索的路径。谢谢。等待有人抱怨这对包含空格的文件名不起作用(使用
-print0
find
以及
-0
xargs
)@SeanBright,好了,谢谢!