我需要隐藏所有被拒绝的权限消息:
find . > files_and_folders
Run Code Online (Sandbox Code Playgroud)
我正在尝试这样的消息出现.我需要收集所有不会出现的文件夹和文件.
是否可以将权限级别定向到files_and_folders文件?
如何同时隐藏错误?
目录中有多个以prefix开头的文件fgh,例如:
fghfilea
fghfileb
fghfilec
Run Code Online (Sandbox Code Playgroud)
我想重命名所有这些以前缀开头jkl.是否有单个命令来执行此操作而不是单独重命名每个文件?
我不太明白"男人发现"给出的例子,有人能给我一些例子和解释吗?我可以在其中组合正则表达式吗?
更详细的问题是这样的:写一个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的情况下完成了作业,但无论如何都想学习它.
以下情况:
我正在使用运行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) 我有这样的目录结构
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)
但它没有按预期工作.
拉维
我查看了其他类似的问题,但没有找到一个可以让我掌握这个概念,并根据我有限的时间使其适用于我的情况.我只是运行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/...
这个庞大的档案中有很多类型的图形图像,如.jpg,.gif,.png等.我不知道所有的类型.有没有一种方法可以让'find'能够列出所有图形图像而不管它们的点扩展名是什么?谢谢!
我正在寻找一种方法来列出目录中的所有文件,不包括目录本身,以及这些子目录中的文件.
所以,如果我有:
./test.log
./test2.log
./directory
./directory/file2
Run Code Online (Sandbox Code Playgroud)
我想要一个返回的命令:./ test.log ./test2.log,没有别的.
我需要备份服务器的所有目录层次结构,因此我需要列出服务器中某些目录的所有子目录.
问题是其中一个子目录包含数万个子目录(只有子目录名称的文件可能需要几百兆字节,而相应的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完全排除这些目录而不遍历各自的目录层次结构?
如何删除所有文件夹并排除特定文件夹和文件?
(例如tar:)tar --exclude="folder".
编辑:我可以删除文件和文件夹.
bash ×5
unix ×5
find ×3
linux ×2
shell ×2
batch-rename ×1
command-line ×1
file ×1
git ×1
graphics ×1
ksh ×1
line-endings ×1
manual ×1
regex ×1
rename ×1