检查文件名包含bash脚本中的字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查文件名包含bash脚本中的字符串相关的知识,希望对你有一定的参考价值。

我编写了一个脚本,用于将文件移动/复制到特定文件夹。我需要检查文件名并移动到相应的文件夹。我可以读取文件名,但是,检查文件名包含一个给出错误的字符串。

在这里我的脚本::

for eachfile in *; do
  echo "INSIDE"
  echo $eachfile
  if [ [ $eachfile =  "CHPOE05"* ] ]; then
    echo  $eachfile
  else
    echo "invalid"
  fi
done

以下是我的错误:

Uploading file IN PCS FOLDER
INSIDE
CHPOE0500001.txt
INCOK1IGT1.sh: line 44: [: too many arguments
invalid
INSIDE
CHPOE050i1001.txt
INCOK1IGT1.sh: line 44: [: too many arguments
答案

删除[ [] ]之间的空间似乎对我有用。

以上是关于检查文件名包含bash脚本中的字符串的主要内容,如果未能解决你的问题,请参考以下文章

sh check bash参数有一些字符串检查脚本参数是否包含某个字符串

检查函数中的字符串(bash)只是数字,小写和“_”[重复]

检查传递的参数是不是是 Bash 中的文件或目录

如何在Linux 系统上比较Bash 脚本中的字符串?

如何检查字符串是否包含子字符串,而不是在Bash中

Bash:检查目录是不是仅包含具有特定后缀的文件