我有一个外部硬盘。Visa我必须在名为 的外部硬盘中搜索一个名为 的文件夹ASTUTE。可能有多个VISA文件夹,但我想搜索所有文件夹。
我使用导航到外部硬盘cd,然后键入find / -name VISA,但出现很多权限被拒绝的错误。我需要以超级用户身份运行它吗?这是正确的命令吗?
在我看来,locate是多的速度比find在查找文件,也更彻底。有什么不同?
该find命令突然不返回任何结果,即使对于我知道存在的文件也是如此。例如,如果我运行:
find . -name calendar.sql
从我知道的目录中包含一个名为 的文件calendar.sql,没有返回任何内容。用引号包围文件名没有帮助。
不知道发生了什么。我过去用过这个命令很好。
我试图在常规语法中的以下命令中使用反斜杠:
find /path/folder-* -type f -iname "file*" -exec rm -f {} \;
Run Code Online (Sandbox Code Playgroud)
当我尝试在 Jenkins 管道上构建此命令时,会出现有关此语法的错误。甚至在我执行此命令之前,Jenkins 表单字段上就会出现红色语法警告,提示意外字符:“\”。
我可以做什么来替换或修复这个反斜杠的错误?
Groovy 命令:
node ("instance") {
stage ("cleaning folders"){
sh '''
find /root/logfiles/instance* -type f -iname "file*" -exec rm -f {} \;
'''
}
stage ("instance1"){
sh '''
rm -f /root/logfiles/instance1/*
echo instance1;
scp 100.0.0.50:/var/log/file1.log /root/logfiles/instance1/file1.log;
scp 100.0.0.50:/var/log/file2.log /root/logfiles/instance1/file2.log;
'''
}
stage ("instance1"){
sh '''
rm -f /root/logfiles/instance2/*
echo instance2;
scp 100.0.0.51:/var/log/file1.log /root/logfiles/instance2/file1.log;
scp 100.0.0.51:/var/log/file2.log /root/logfiles/instance2/file2.log;
'''
}
}
Run Code Online (Sandbox Code Playgroud)
注意:rm -f目前我对所有情况都有。将全部替换rm …
我正在尝试使用以下命令将新行附加到多个文件:
find -name *.ovpn -exec sh echo "line to append" >> {} \;
Run Code Online (Sandbox Code Playgroud)
在执行此操作之前,我运行了一个不同的命令以确保它按我预期的方式工作:
find -name *.ovpn -exec sh echo "hello" \;
Run Code Online (Sandbox Code Playgroud)
但这只是为找到的每个文件打印出“sh: 0: Can't open echo”。
我试图在我硬盘上某处的文件中找到特定的文本字符串。到目前为止,我想出的最好的是:
find -type f / | xargs cat | grep "string to find"
Run Code Online (Sandbox Code Playgroud)
但这只是告诉我字符串是否存在于某处。
我怎么知道我在哪个文件中找到了它?
有没有更好的办法?
我想在许多文件中搜索一个字符串。
我用了 find /archive/* -print0 | xargs -0 grep 'robert' -sl
有没有一个简单的方法来做到这一点?
这个命令找到我想要移动到旧文件夹的文件
find /home/ -maxdepth 1 -type f -mtime +1
Run Code Online (Sandbox Code Playgroud)
现在我如何通过这个命令来移动命令
mv (previous files) /old
Run Code Online (Sandbox Code Playgroud) 预期的行为是删除所有 .jpg,但它删除了目录中的所有文件。
如何更改命令以查找和删除所有 xyz 文件?
\;以下命令中的含义是什么?我也不确定是什么{}意思。是否\;真的有必要?
find ./ -name file_1 -exec cp {} ./ \;
Run Code Online (Sandbox Code Playgroud) 我的脚本应该:递归查找名称包含给定字符串的文件和目录,使用find,从当前目录开始。如果没有给出参数,Missing argument(s)则应在将错误代码返回1给 shell之前打印消息。
这是脚本:
#!/bin/bash/
if ["${#}" -eq 0]
then
echo "Missing argument(s)"
exit 1
else
find . -name "*$@*"
fi
Run Code Online (Sandbox Code Playgroud)
我试图在终端中使用它,但出现此错误:
bash: ./myfind: /bin/bash/: bad interpreter : Not a directory
为什么?我的代码正确吗?