标签: find

如何在外部硬盘中使用find命令进行搜索

我有一个外部硬盘。Visa我必须在名为 的外部硬盘中搜索一个名为 的文件夹ASTUTE。可能有多个VISA文件夹,但我想搜索所有文件夹。

我使用导航到外部硬盘cd,然后键入find / -name VISA,但出现很多权限被拒绝的错误。我需要以超级用户身份运行它吗?这是正确的命令吗?

terminal find

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

find 和 locate 和有什么不一样?

在我看来,locate是多的速度比find在查找文件,也更彻底。有什么不同?

locate find macos

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

find 命令不返回结果(macOS High Sierra 10.13.4)

该find命令突然不返回任何结果,即使对于我知道存在的文件也是如此。例如,如果我运行:

find . -name calendar.sql

从我知道的目录中包含一个名为 的文件calendar.sql,没有返回任何内容。用引号包围文件名没有帮助。

不知道发生了什么。我过去用过这个命令很好。

command-line find macos

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

Groovy 语法不适用于反斜杠

我试图在常规语法中的以下命令中使用反斜杠:

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 …

bash find bash-scripting groovy jenkins

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

将新行附加到多个文件

我正在尝试使用以下命令将新行附加到多个文件:

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”。

unix command-line sh find

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

在文件中搜索字符串的更好方法?

我试图在我硬盘上某处的文件中找到特定的文本字符串。到目前为止,我想出的最好的是:

find -type f / | xargs cat | grep "string to find"
Run Code Online (Sandbox Code Playgroud)

但这只是告诉我字符串是否存在于某处。

我怎么知道我在哪个文件中找到了它?

有没有更好的办法?

grep shell-script find

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

发现参数列表太长

我想在许多文件中搜索一个字符串。

我用了 find /archive/* -print0 | xargs -0 grep 'robert' -sl

有没有一个简单的方法来做到这一点?

linux find xargs

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

如何使用上一个命令移动旧文件

这个命令找到我想要移动到旧文件夹的文件

find /home/ -maxdepth 1 -type f -mtime +1
Run Code Online (Sandbox Code Playgroud)

现在我如何通过这个命令来移动命令

mv (previous files) /old
Run Code Online (Sandbox Code Playgroud)

bash find

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

为什么 "find . -iname "*.jpg" -type f -print0 | xargs -0 rm * " 删除所有文件?

预期的行为是删除所有 .jpg,但它删除了目录中的所有文件。

如何更改命令以查找和删除所有 xyz 文件?

find

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

什么\; 在脚本中是什么意思?

\;以下命令中的含义是什么?我也不确定是什么{}意思。是否\;真的有必要?

find ./ -name file_1 -exec cp {} ./ \;
Run Code Online (Sandbox Code Playgroud)

bash shell-script find

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

使用命令 find 的 Shell 脚本错误

我的脚本应该:递归查找名称包含给定字符串的文件和目录,使用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

为什么?我的代码正确吗?

unix script bash find

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

标签 统计

find ×11

bash ×4

command-line ×2

macos ×2

shell-script ×2

unix ×2

bash-scripting ×1

grep ×1

groovy ×1

jenkins ×1

linux ×1

locate ×1

script ×1

sh ×1

terminal ×1

xargs ×1