标签: recursive

如何删除文件夹中所有出现的 .DS_Store

将其视为转到最高级别的文件夹,执行 Ctrl 查找,然后搜索 .DS_Store 并将它们全部删除。

我希望它们全部删除,从所有子文件夹和子文件夹子文件夹等等。基本上在顶级文件夹中,任何地方都不应该有 .DS_Store 文件,甚至在它的任何子文件夹中也不应该有。

我应该输入什么命令?

linux command-line directory recursive rm

2
推荐指数
1
解决办法
1795
查看次数

如何从当前目录开始递归删除所有“node_modules”目录(或任何目录)的内容,留下一个空文件夹?

假设我有这样的目录结构:

projects/
  project1/
    src/
    node_modules/
      dir1/
      dir2/
      dir3/
      file
  project2/
    node_modules/
      dir4/
Run Code Online (Sandbox Code Playgroud)

从开始projects/我想删除所有node_modules/目录的内容,但我不想删除其node_modules/本身,将其留空,里面没有文件夹或文件。

在上面的示例中,项目、 、 和dir1dir2dir3删除。filedir4

command-line bash recursive files

2
推荐指数
1
解决办法
1303
查看次数

如何找到文件目录?

我正在寻找 OS/X 中的特定文件。

我可以使用以下命令查看文件:

ls -alR | grep "mkmf.*"
Run Code Online (Sandbox Code Playgroud)

这表明我的文件存在。

如何找到文件所在的目录。

非常感谢

ls shell recursive

1
推荐指数
1
解决办法
61
查看次数

如何快速找到递归符号链接?

我遇到索引程序运行时间比预期长得多的问题。我想排除递归符号链接的可能性。我怎样才能找到在某种程度上递归的符号链接?

find symlink recursive

1
推荐指数
1
解决办法
7285
查看次数

递归遍历所有子目录,如果存在具有特定扩展名的文件,则在该文件夹中运行一次命令

我需要递归遍历文件夹的所有子目录。在子目录中,如果有一个扩展名为“.xyz”的文件,那么我需要在该文件夹中运行一次特定命令。

这是我到目前为止所拥有的

recursive() {
  for d in *; do
    if [ -d "$d" ]; then
      (cd -- "$d" && recursive)
    fi
  dir=`pwd`   
  pattern="*.xyz"
file_count=$(find $dir -name $pattern | wc -l)
if [[ $file_count -gt 0 ]]; then
    echo "Match found. Going to execute a command"
    #execute command
fi
  done
}

(cd /target; recursive)
Run Code Online (Sandbox Code Playgroud)

但问题是,当有匹配项时,每个文件夹会多次显示“找到匹配项...”消息。在解决这个问题的同时,有没有更简单的方法来做到这一点?

shell find shell-script recursive

1
推荐指数
1
解决办法
8277
查看次数

递归删除目录中的所有“nohup.out”

如何从终端递归删除目录中的所有“nohup.out”文件?我正在使用 CentOS。

command-line recursive rm files

0
推荐指数
1
解决办法
4559
查看次数

递归 rm 对我不起作用

假设我们在一个目录中有以下文件:

test.txt
test.txt~
/subdir
  test1.txt
  test1.txt~
Run Code Online (Sandbox Code Playgroud)

当我rm -r ./*.*~在 top dir 中运行时,只有 test.txt~ 被删除。

尽管我使用了递归标志,为什么它不执行递归删除?

您可以使用以下脚本重现我的案例:

#create dir and 1-st level test files
mkdir dir
cd dir
touch test.txt
touch test.txt~

#create subdir and 2-nd level test files
mkdir subdir
cd subdir/
touch test1.txt~
touch test1.txt

cd ..
rm -r ./*.*~
Run Code Online (Sandbox Code Playgroud)

recursive rm

0
推荐指数
2
解决办法
620
查看次数

使用 tar、gzip 和 pigz 进行递归压缩安全吗?

如果我制作一个.tar.gz过孔

tar czvf - ./myfiles/ | pigz -9 -p 16 > ./mybackup.tar.gz,

我可以通过以下方式安全地解压缩目录中已经gzip 的文件吗./myfiles/an_old_backup.tar.gz ./myfiles

gzip -d mybackup.tar.gz
tar -xvf mybackup.tar
cd myfiles
gzip -d an_old_backup.tar.gz
tar -xvf an_old_backup.tar
Run Code Online (Sandbox Code Playgroud)

?可以无限安全地进行这种递归压缩吗?

tar backup compression gzip recursive

0
推荐指数
1
解决办法
2190
查看次数

递归目录中的快速字符串替换

如何使用带有空格单引号的递归目录和文件名进行快速文本替换?最好使用标准的 UNIX 工具,或者一个众所周知的包。

find对于许多文件,使用速度非常慢,因为它为每个文件生成一个新进程,因此我正在寻找一种将目录遍历和字符串替换集成为一个操作的方法。

慢搜索:

find . -name '*.txt'  -exec grep foo {} \;
Run Code Online (Sandbox Code Playgroud)

快速搜索:

grep -lr --include=*.txt foo
Run Code Online (Sandbox Code Playgroud)

缓慢替换:

find . -name '*.txt' -exec perl -i -pe 's/foo/bar/' {} \;
Run Code Online (Sandbox Code Playgroud)

快速更换:

# Your suggestion here
Run Code Online (Sandbox Code Playgroud)

(这个速度相当快,但是是两次传递并且不处理空格。)

perl -p -i -e 's/foo/bar/g' `grep -lr --include=*.txt foo`
Run Code Online (Sandbox Code Playgroud)

recursive replace

0
推荐指数
1
解决办法
1213
查看次数

cp -a 无法复制目录中的所有文件

我希望将仅包含这些文件的目录内的所有文件(所有文件都是常规文件 - 该目录内没有目录、符号链接等)复制到另一个预先存在的目录。

这些文件具有非常常见的名称,例如robots.txt,并且不遵循任何特定模式。

我尝试了类似的命令:

cp -a "$HOME"/a "$HOME"/b 
Run Code Online (Sandbox Code Playgroud)

我知道这-a是一个快捷组合-d(保留模式、所有权和时间戳)以及-R命令递归复制。

如果复制是递归的,为什么不复制文件以及解决方案是什么?

directory gnu cp recursive

-1
推荐指数
1
解决办法
3355
查看次数

标签 统计

recursive ×10

command-line ×3

rm ×3

directory ×2

files ×2

find ×2

shell ×2

backup ×1

bash ×1

compression ×1

cp ×1

gnu ×1

gzip ×1

linux ×1

ls ×1

replace ×1

shell-script ×1

symlink ×1

tar ×1