如何对 awk 字段的输出执行 ls 命令
这需要一个目录作为参数:
#!/bin/bash
ls -l $1 |awk '$3!=$4{print $9}'
现在我需要的是能够对从 awk 语句中找到的文件执行另一个 ls -l
操作。
是的,这听起来很愚蠢,我知道还有 3 种其他方法可以做到这一点,但不是使用 awk。
This takes a directory as a parameter:
#!/bin/bash
ls -l $1 |awk '$3!=$4{print $9}'
Now what I need is to be able to do ANOTHER ls -l
on the just the files that are found from the awk statement.
Yeah, it sounds dumb, and I know of like 3 other ways to do this, but not with awk.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用awk系统命令:
Use awk system command:
使用的命令是 xargs。
应该给出一些线索。
The command to use is
xargs
.should give some clues.
如果允许调整第一个
ls -l
,您可以尝试这样做:在这种情况下,
ls
将为目录添加前缀。但我不知道这是否是可移植的行为。If it is allowed to adjust the first
ls -l
you could try to do:In this case
ls
will prefix the directory. But I don't know if this is portable behavior.