linux查找并输出特定行和它的前一行且在后面再输出一个空白行的命令

2025-03-27 06:25:37
推荐回答(3个)
回答1:

  1. 您需求不太明确,输出特定行,后面加空行没有意义,比如说输出1-3行,后面就是空的了,为啥还要加空行?

  2. 实现方式,grep + sed

    grep -n 取行数,sed -n 'n-1,n-2'

    #注意实际用的时候,n-1要算出来,或者脚本里面传参数

  3. 例:

     

    [user@master tmp]$ ll | awk '{ print $3 }'

    cloudera-scm
    clouderauser
    hadoop
    hdfs
    hive
    mapred
    root
    yarn
    zookeeper
    clouderauser
    [user@master tmp]$ ll | awk '{ print $3 }'| grep -n yarn
    9:yarn

    [user@master tmp]$ ll | awk '{ print $3 }'| sed -n '8,10p'
    root
    yarn
    zookeeper

回答2:

cat -n some.txt|grep 'line'|head -n 1
//输出特定行

echo -e "\n"
//输出空白行

回答3:

cat 1.txt |grep -A 1 aaa >> 2.txt
echo " " >> 2.txt
不知道这样是否可行