xargs

如何在所有扩展的输入行上运行 xargs 实用程序?
xargs

如何在所有扩展的输入行上运行 xargs 实用程序?

我有一个文件,其中列出了包含通配符的文件和目录*。我试图输出带有的条目的大小,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...

Admin

在 ZSH 中,如何将当前目录中除两个或更多文件之外的所有文件移动(mv)到子目录中?
xargs

在 ZSH 中,如何将当前目录中除两个或更多文件之外的所有文件移动(mv)到子目录中?

(bash 上有很多关于此问题的信息,但 zsh 上的信息少得多,而且对于两个或更多文件则根本没有信息。不知道如何将^(“插入符号”)应用于多个文件)。 我想知道(见下面的文件),如何将mv所有文件移动到/test-folder,除了两个文件:a1和a2。 我没有找到任何明确的语法(除了 bash [看起来用!(a1|a2),会很容易])来对两个或更多文件执行此操作。 相当于.zsh看起来!是(“插入符号”)。我可以用一个取得一些成功,但我找不到将应用于两个或更多的^方法。^ 我发现了很多与 bash shell 相关的内容:(shopt -s extgl...

Admin

xargs 和 echo 有限次数替换
xargs

xargs 和 echo 有限次数替换

我想复制一些文本。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 最终,这应该以打印的形式结束,以构建一些在不同位置需要相同文本的命令。 ...

Admin

为什么 xargs 无法在子 shell 中正确调用 basename?
xargs

为什么 xargs 无法在子 shell 中正确调用 basename?

我遇到了以下问题: 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 \"{}\")...

Admin

将 jq 与 xargs 结合使用
xargs

将 jq 与 xargs 结合使用

我有一个 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...

Admin

在 git 中查找在 .editorconfig 中有条目的文件
xargs

在 git 中查找在 .editorconfig 中有条目的文件

我想查找 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...

Admin

grep 查找 shell 脚本中的行,并设置 $1 发送到 xargs
xargs

grep 查找 shell 脚本中的行,并设置 $1 发送到 xargs

我有一个 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...

Admin

通用 chmod 函数区分目录和文件(即使用 find)
xargs

通用 chmod 函数区分目录和文件(即使用 find)

是否存在一个通用的 bash 函数可以chmod在各个方面进行模拟,此外它还可以让我区分文件和目录? 我知道已经有很多例子,比如下面这个这个答案: find /path/to/base/dir -type d -exec chmod 755 {} + chmod 755 $(find /path/to/base/dir -type d) find /path/to/base/dir -type d -print0 | xargs -0 chmod 755 ...但这些都是硬编码的参数,记忆和输入都很繁琐。1 ) 我想将它概括化并使其动态化,以便我能够做如...

Admin

如何从本地机器以及通过 kubernetes 集群内的跳转机器批量删除 redis 键?
xargs

如何从本地机器以及通过 kubernetes 集群内的跳转机器批量删除 redis 键?

我需要删除我的 redis 集群中的一些键,这些键只能从部署在 kubernetes 集群中的跳转机访问。 所以如果我知道密钥,我可以通过以下命令毫无问题地删除它: ➜ kubectl exec -it jump-machine -- /usr/local/bin/redis-cli -c -h redis-cluster-host DEL "the-key" (interger) 1 但如果我想批量执行则它会输出 0,这意味着未删除: ➜ kubectl exec -it jump-machine -- /usr/local/bin/redis-cli...

Admin

awk 多个命令和多个参数
xargs

awk 多个命令和多个参数

我正在尝试转换这个输出: ❯ hg branches -T'{node} {branch}\n' 4b0826975cb29da26a6dd13f463241463c43c6a7 maria 5c31751cdb774f8b6337b6f64232b15903530997 default 进入以下命令: hg bookmark -r 4b0826975cb29da26a6dd13f463241463c43c6a7 maria -f hg bookmark -r 5c31751cdb774f8b6337b6f64232b15903530997 default...

Admin

xargs 如何将命令串在一起
xargs

xargs 如何将命令串在一起

大家好,我是一名新手脚本编写者,没有接受过正规的编程培训,因此对于混乱的代码我深表歉意。 我想要实现的目标: 目录看起来是这样的。 /home/AAA /home/BBB /home/CCC /home/AAA/aaaa.S01.aaa /home/AAA/zzzz.S02.zzz /home/AAA/xxx.S03.xxx /home/AAA/aaaa.S01.aaa/bbbb.s01e01.bbbb.mkv 我想制作目录 AAA 的 torrent,将 cd 放到两级目录中,制作第一个 .mkv 的 mediainfo 文件,制作相同文...

Admin

Windows powershell 中的 xargs 和 git 问题
xargs

Windows powershell 中的 xargs 和 git 问题

我一直在使用以下命令删除任何合并的 git 分支: git branch --merged | grep -v "\*" | grep -v "master" | grep -v "staging" | xargs -n 1 git branch -d grep并且xargs两者都使用适用于 Windows 的 git 打包。最近更换了电脑,决定切换到 powershell(从 Windows cmd),但这不再按预期工作。我没有删除分支,而是得到了(请注意末尾的问号): error: branch '<branch-name>?' not fo...

Admin

为什么 xargs 会用空格分割,甚至用 -0 分割?
xargs

为什么 xargs 会用空格分割,甚至用 -0 分割?

根据互联网上的文档和建议,以下任何一种: $ ls $(env -0 | xargs -0) $ ls $(env | xargs -d '\n') 给定LESSOPEN应该| %s _=/usr/bin/env产生这个: ... ls: cannot access 'LESSOPEN=| %s _=/usr/bin/env': No such file or directory 但实际上我得到的是: ... ls: cannot access 'LESSOPEN=|': No such file or directory ls: cannot acce...

Admin