删除所有文件的程序接受文件夹中的txt文件

stringRay2014

接受2个参数,source和destination,并删除除txt之外的所有文件。我只是学习bash,所以不使用/不了解不同的功能等。

mkdir $2
cp -R $1/* $2

for file in $1/*;do #all files in testInput
   if [ -d "$file" ] #if its a file then look at the contents of it
   then
      for inDir in $file/*; do
         if [ -d "$inDir" ]
         then
            for line in $inDir ; do
               if [ line != *.txt ]
               then
                  rm line

               fi
            done
          fi
       done

    else
       for files in file; do
          if [ files != *.txt ]
          then
             rm files
          fi
       done

    fi     
done

源是一个包含3个文件夹的文件夹,其中一些子文件夹包含一个子文件夹和文件

伊德里斯·诺依曼(Idriss Neumann)

您应该使用它find来完成此类任务。这是一个例子:

find "$dir" -type f ! -name "*.txt" -exec rm {} \;

否则 :

if [ line != *.txt ]
# ...
if [ files != *.txt ]

您缺少$变量名称前的,并且测试不正确。您可以尝试这样的事情:

[[ $line =~ \.txt$ ]] || rm line

而且 :

for files in file; do

您在$变量名称前缺少字符,应该改用以下代码:

for files in "$file"/*; do

最后,您不能适当地保护变量。读这:bash:非法号码

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

逐行读取文件夹中的所有.txt文件

从文件夹中读取所有.txt文件?

删除文件夹中的所有文件和文件夹,以结尾的文件和文件夹为准

如何从文件夹中删除所有文件?

从递归文件夹中删除所有zip文件

强制删除文件夹中的所有文件

使用PHP从文件夹中删除所有文件?

如何删除文件夹XXX中的所有文件

删除firebase文件夹中的所有文件?

删除我的文件夹中的所有.gitignore文件

如何删除某个文件夹中的所有文件

如何最好地删除文件夹及其子文件夹中的所有文件

删除文件夹及其子文件夹中的所有文件

删除文件夹中除具有特定名称的文件夹外的所有文件夹

删除所有文件夹但将所有文件保留在一个文件夹中的程序/脚本

如何删除文件夹中除最新X子文件夹以外的所有子文件夹?

删除Python中除最新文件夹以外的所有文件夹

删除所有子文件夹中的`target`文件夹

如何删除Linux中除少数提到的文件夹以外的所有文件夹

如何使用python删除文件夹中的所有文件夹?

如何删除文件夹中的所有目录

删除子文件夹中的所有内容

(批量)如何递归删除目录中除以.开头的文件/文件夹之外的所有文件/文件夹?

根据文件内容重命名文件夹中的所有txt文件

根据.txt文件用文件夹中的所有文件替换几个单词

在包含文件夹中所有文件的版本号的inPowesShell中创建.txt文件

删除文件夹中除具有某些前缀的文件外的所有文件

如何删除文件夹中的所有文件,而不使用NIX标准库删除文件夹?

删除文件夹中的所有文件,列表中的文件名除外