相关疑难解决方法(0)

如何从"查找"中排除所有"权限被拒绝"的消息?

我需要隐藏所有被拒绝的权限消息:

find . > files_and_folders
Run Code Online (Sandbox Code Playgroud)

我正在尝试这样的消息出现.我需要收集所有不会出现的文件夹和文件.

是否可以将权限级别定向到files_and_folders文件?

如何同时隐藏错误?

error-handling bash file-permissions find

778
推荐指数
11
解决办法
47万
查看次数

在Unix中重命名多个文件

目录中有多个以prefix开头的文件fgh,例如:

fghfilea
fghfileb
fghfilec
Run Code Online (Sandbox Code Playgroud)

我想重命名所有这些以前缀开头jkl.是否有单个命令来执行此操作而不是单独重命名每个文件?

unix rename file batch-rename

227
推荐指数
8
解决办法
26万
查看次数

如何在sh中使用'find'的'-prune'选项?

我不太明白"男人发现"给出的例子,有人能给我一些例子和解释吗?我可以在其中组合正则表达式吗?


更详细的问题是这样的:写一个shell脚本,changeall,它有一个像"changeall [-r | -R]"string1""string2"这样的接口.它将找到后缀为.h,.C的所有文件,.cc或.cpp并将所有出现的"string1"更改为"string2".- r是仅保留当前目录或包含subdir的选项.注意:1)对于非递归情况,不允许"ls" ,我们只能使用'find'和'sed'.2)我试过'find -depth'但它不受支持.这就是为什么我想知道'-prune'是否可以帮助,但是不明白'男人发现'.


EDIT2:我正在做作业,我没有详细提问,因为我想自己完成.既然我已经完成并把它交给我,现在我可以陈述整个问题.此外,我设法在不使用-prune的情况下完成了作业,但无论如何都想学习它.

regex shell find manual

207
推荐指数
5
解决办法
11万
查看次数

转换整个目录树的行尾(Git)

以下情况:

我正在使用运行OS X的Mac,最近加入了一个项目,其成员到目前为止都使用Windows.我的第一个任务之一是在Git存储库中设置代码库,所以我从FTP中提取目录树并尝试将其检入我本地准备的Git仓库.在尝试这样做的时候,我得到的就是这个

fatal: CRLF would be replaced by LF in blog/license.txt.
Run Code Online (Sandbox Code Playgroud)

因为这会影响"blog"文件夹下面的所有文件,所以我正在寻找一种方法,可以方便地将树中的所有文件转换为Unix行结尾.是否有一个开箱即用的工具或者我自己编写脚本?

作为参考,我的Git配置有关行结尾:

core.safecrlf=true
core.autocrlf=input
Run Code Online (Sandbox Code Playgroud)

git line-endings

143
推荐指数
6
解决办法
6万
查看次数

使用find排除子目录

我有这样的目录结构

data
|___
   |
   abc
    |____incoming
   def
    |____incoming
    |____processed
   123
    |___incoming
   456
    |___incoming
    |___processed
Run Code Online (Sandbox Code Playgroud)

Data目录中的所有文件夹中都有一个传入的子文件夹.我想从除def/incoming和456 /传入目录之外的所有文件夹和子文件夹中获取所有文件.我尝试了以下命令

 find /home/feeds/data -type d \( -name 'def/incoming' -o -name '456/incoming' -o -name arkona \) -prune -o -name '*.*' -print
Run Code Online (Sandbox Code Playgroud)

但它没有按预期工作.

拉维

unix bash

106
推荐指数
3
解决办法
8万
查看次数

如何只查找给定目录中的文件,并使用bash忽略子目录

我查看了其他类似的问题,但没有找到一个可以让我掌握这个概念,并根据我有限的时间使其适用于我的情况.我只是运行find命令来查找某些文件,但是子目录中的某些文件具有我想忽略的相同名称.谢谢你的帮助.以下是我正在使用的命令:

我感兴趣的文件/模式:/ dev/abc-scanner,/ dev/abc-cash ....

命令:

find /dev/ -name 'abc-*'
Run Code Online (Sandbox Code Playgroud)

回复了什么:

/dev/abc-scanner
/dev/abc-cash
...
...
...
/dev/.udev/names/abc-scanner
/dev/.udev/names/abc-cash
Run Code Online (Sandbox Code Playgroud)

我想忽略后面的文件:/dev/.udev/...

unix bash

104
推荐指数
3
解决办法
15万
查看次数

Linux查找:使用find列出所有图形图像文件?

这个庞大的档案中有很多类型的图形图像,如.jpg,.gif,.png等.我不知道所有的类型.有没有一种方法可以让'find'能够列出所有图形图像而不管它们的点扩展名是什么?谢谢!

linux graphics find

43
推荐指数
4
解决办法
5万
查看次数

查找目录中不是目录的所有文件

我正在寻找一种方法来列出目录中的所有文件,不包括目录本身,以及这些子目录中的文件.

所以,如果我有:

./test.log
./test2.log
./directory
./directory/file2
Run Code Online (Sandbox Code Playgroud)

我想要一个返回的命令:./ test.log ./test2.log,没有别的.

unix bash ksh

35
推荐指数
2
解决办法
3万
查看次数

如何在unix中排除find命令的搜索路径中给定目录的所有子目录

我需要备份服务器的所有目录层次结构,因此我需要列出服务器中某些目录的所有子目录.

问题是其中一个子目录包含数万个子目录(只有子目录名称的文件可能需要几百兆字节,而相应的find命令需要很长时间).

例如,如果我有一个目录A和一个包含数万个子目录的子目录A/a,我想使用find命令列出A的所有子目录,不包括 A/a的所有子目录但是不排除A/a本身.

我尝试使用这个问题中的答案的-prune的许多变体无济于事.

有没有办法find在UNIX中使用该命令来执行此操作?

更新:

@devnull的答案工作得很好,但现在我有另一个问题,所以我会稍微改进一下我的问题:

我使用以下命令:

 find /var/www -type d \( ! -wholename "/var/www/web-release-data/*"  ! -wholename "/var/www/web-development-data/*" \)
Run Code Online (Sandbox Code Playgroud)

这产生的新的问题是找到某种原因仍是遍历整个目录树"/var/www/web-release-data/""/var/www/web-development-data/",因此它的速度很慢,我担心它可能需要几个小时.

是否有任何方法使find完全排除这些目录而不遍历各自的目录层次结构

unix linux bash

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

如何排除要删除的文件/文件夹

如何删除所有文件夹并排除特定文件夹和文件?

(例如tar:)tar --exclude="folder".

编辑:我可以删除文件和文件夹.

shell command-line

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