gpt4 book ai didi

shell - 在 'grep' 结果中包含 header

转载 作者:行者123 更新时间:2023-12-04 00:06:07 24 4
gpt4 key购买 nike

有没有办法将“head -1”和“grep”命令组合成一个目录中所有文件的命令,并将输出重定向到输出文件。我可以使用“sed”来做到这一点,但它似乎不如 grep 快。

sed -n '1p;/6330162/p' infile*.txt > outfile.txt

使用 grep 我可以一次执行以下一个文件:
head -1 infile1.txt;  grep -i '6330162' infile1.txt > outfile.txt

但是,我需要对目录中的所有文件执行此操作。插入通配符没有帮助,因为它首先打印标题,然后是 grep 输出。

最佳答案

下面的意思是你只需要输入一次命令(而不是使用&&然后输入两次),它也很容易理解。

some-command | { head -1; grep some-stuff; }

例如
ps -ef | { head -1; grep python; }

更新:这似乎只适用于 ps ,抱歉,但我想这通常是人们想要的。

如果您希望它适用于任意命令,似乎您必须编写一个迷你脚本,例如:
#!/bin/bash

first_line=true

while read -r line; do
if [ "${first_line}" = "true" ]; then
echo "$line"
first_line=false
fi
echo "$line" | grep $*
done

我将其命名为 hgrep.sh .然后你可以像这样使用:
ps -ef | ./hgrep.sh -i chrome

这种方法的好处是我们正在使用 grep所以所有的标志都完全一样。

关于shell - 在 'grep' 结果中包含 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12920317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com