我有这组管道命令:
grep -n '*' file.txt | head -n1 | awk -F\: '{print $1-1;}'
它告诉我它首先找到星号的那一行的前一行。 现在我想将之前的几行管道传输到:
head -n<that previous line number>
Head 需要一个数字紧跟在 -n 参数之后,没有空格,例如:
head -n4
我该怎么做?它只是不接受添加
| head -n
在命令集的末尾。 我的搜索没有结果。谢谢!
最佳答案
您希望用反引号替换值:
head -n`grep -n '*' file.txt | head -n1 | awk -F\: '{print $1-1;}'` file.txt
或者可能在多行上有类似的东西:
LINENO=`grep -n '*' file.txt | head -n1 | awk -F\: '{print $1-1;}'`
head -n${LINENO} file.txt
关于bash - 如何将命令结果通过管道传递给 -<character><argument> 选项? (没有空格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/899596/