为什么 `find . -name '*.jar' | xargs jar tf` 不起作用?
我跑了这个 find . -name '*.jar' | xargs jar tf 希望它能找到所有.jar文件并执行jar tf它们(以查看内容)。但它似乎不起作用! ...
我跑了这个 find . -name '*.jar' | xargs jar tf 希望它能找到所有.jar文件并执行jar tf它们(以查看内容)。但它似乎不起作用! ...
我正在尝试弄清楚如何将文件列表复制到子目录列表。 例如。我要将 300 个文件复制到 300 个子目录中 - 1 对 1。 file1 -> dir1/sub file2 -> dir2/sub file3 -> dir3/sub file4 -> dir4/sub . . file300 -> dir/sub300 我通常将文件放在目录所在的当前目录中,因此我会运行类似 find . -type f -name "file*" 复制到 find . -type d -name "dir...
我在本地机器上安装了 ack-grep,发现它对于在调试时快速“确认”代码库是必不可少的。 但是,在我的廉价共享主机上,没有 ack-grep。betterthangrep.com 上的一条评价提到了 Rube Goldberg 的 find/grep/xargs 混乱 这听起来就像我需要的,但却是来自相反的方向。 有谁知道它是什么吗? ...
目前我正在使用两个命令,我相信一定有更好的方法...... wim@wim-acer:~/ffmpeg$ find . -name "*.h" -print0 | xargs -0 grep -i invalid\ preset wim@wim-acer:~/ffmpeg$ find . -name "*.c" -print0 | xargs -0 grep -i invalid\ preset ...
我在 Java 文件中搜索某个短语的出现: 查找 . -name '*.java' | xargs grep -l 'string' 我如何更改此命令以将所有包含匹配项的行打印到 shell 中? ...
我正在运行以下命令来为整个脚本文件夹添加别名: ls | grep '\.sh$' | sed 's/\.sh$//' | awk '{print "alias "$1"=\"./"$0".sh\""}' | xargs -L1 bash 似乎有问题,bash或者可能xargs处理了这个问题。别名不起作用。 当使用运行命令时echo,我得到了预期的输出(或几乎,不确定为什么缺少双引号) ls | grep '\.sh$' | sed 's/\.sh$//' | awk '{print "alias "$1"=\"./"$0".sh\""}' | xargs ...
首先,我似乎无法找到为什么这--两个破折号xargs,但这是我得到的: $ atool -E -a --format=zip words.csv xargs -- zip -r words.csv [...hangs...] 文档位于https://linux.die.net/man/1/atool,并-E解释该命令,所以看起来它只是试图调用该zip命令。但是为什么它不起作用呢?我刚刚安装了brew install atool: ==> Pouring atool--0.39.0.arm64_sonoma.bottle.2.tar.gz 我该如何让...
我有一个文件,其中列出了包含通配符的文件和目录*。我试图输出带有的条目的大小,du并希望得到总计。 如果我从以下开始: cat file | xargs du -hs 通配符*未扩展。为此,我执行以下操作: cat file | xargs -I@ sh -c 'du -hs @' 但如果我尝试: cat file | xargs -I@ sh -c 'du -hsc @' 我总共得到每个(扩展)文件的条目。如果文件如下所示: foo* bar* 我会得到: 1K foo1 1K foo2 2K total 1K bar1 1K bar2 2K to...
(bash 上有很多关于此问题的信息,但 zsh 上的信息少得多,而且对于两个或更多文件则根本没有信息。不知道如何将^(“插入符号”)应用于多个文件)。 我想知道(见下面的文件),如何将mv所有文件移动到/test-folder,除了两个文件:a1和a2。 我没有找到任何明确的语法(除了 bash [看起来用!(a1|a2),会很容易])来对两个或更多文件执行此操作。 相当于.zsh看起来!是(“插入符号”)。我可以用一个取得一些成功,但我找不到将应用于两个或更多的^方法。^ 我发现了很多与 bash shell 相关的内容:(shopt -s extgl...
我想复制一些文本。Xargs 最多只能复制 5 个项目。我不知道是否有更好的方法来实现这一点。 echo "sometext " | xargs -n 9 -t -I RRRR echo RRRR RRRR RRRR RRRR RRRR RRRR RRRR echo sometext sometext sometext sometext sometext RRRR RRRR sometext sometext sometext sometext sometext RRRR RRRR 最终,这应该以打印的形式结束,以构建一些在不同位置需要相同文本的命令。 ...
我遇到了以下问题: user@machine:/$ echo ./dir/fil | xargs -I {} bash -c "echo $(basename {})" ./dir/fil 为什么不只是打印fil? 因此basename似乎获得了预期的参数./dir/fil,但不知何故假设它是整个文件名。相反,当与dirname它一起使用时,只会打印出.。感觉好像/s 以某种方式被转义了。 我为何关心? 我实际上需要运行这样的操作: find -name "*.foo" | xargs -I {} bash -c "cd $(dirname \"{}\")...
我有一个 json 文件n用户。我需要为每个用户用不同的 UUID 替换 id 字段。之后,我需要制作ncurl 调用 json 作为有效负载。我该如何实现? 我的 json 文件: [{ "id": "a3d920e", "name": "Alice", "age": 17 },{ "id": "18db903", "name": "Bob", "age": 71 },{ "id": "ff9a32c", "name": "Carol", "age": 30 }] 我尝试了这个命令: jq -c '.[] | obje...
我想查找 git 中所有具有某些扩展名的文件。扩展名列表是从我的 .editorconfig 文件生成的。 假设我有一个文件扩展名列表,例如: .css .html .java .js (这是从 .editorconfig 生成的) 我想找到所有由 git 跟踪的具有这些扩展名的文件。 目前,我有这个命令: grep -oE "\.[a-z0-9]+" .editorconfig | xargs -I{} grep {} <(git ls-files) 输出为: src/main/site/src/App.css src/main/site/src...
root@home:~$ ls root@home:~$ echo abc > z1 root@home:~$ echo xyz > z2 root@home:~$ ls z1 z2 root@home:~$ ls | xargs -I{} cat {} abc xyz root@home:~$ echo z1 z2 | xargs -I{} cat {} cat: 'z1 z2': No such file or directory root@home:~$ echo "z1 z2" | xargs -I{} cat {} cat: 'z1 ...
我有一个 shell 脚本(我在 Ubuntu 18.04 上使用 GNU bash 4.4.20),其中包含我经常运行的命令列表,例如: sudo program1 $1 foo arg1 sudo program2 $1 foo arg2 sudo program1 $1 bar arg3 sudo program2 $1 bar arg4 我想 grep 查找此脚本中的选定行并运行它们。例如,如果我想运行上面的第 3 行和第 4 行并将 $1 设置为“some_value”,我认为类似下面的方法可行: set some_value; grep bar...