我经常在第一行grep CSV文件列名。因此,我希望grep的输出始终包含第一行(获取列名称)以及与grep模式匹配的任何行。这样做最好的方法是什么?
SED:
sed '1p;/pattern/!d' input.txt
AWK:
awk 'NR==1 || /pattern/' input.txt
grep1:
grep1() { awk -v pattern="${1:?pattern is empty}" 'NR==1 || $0~pattern' "${2:?filename is empty}"; }