美文网首页
sed、awk、perl混合实现同样的功能——编号

sed、awk、perl混合实现同样的功能——编号

作者: hygine | 来源:发表于2020-02-26 10:37 被阅读0次

    为文件中的每一行进行编号(简单的左对齐方式)。这里使用了“制表符”(tab,见本文末尾关于’\t’的用法的描述)而不是空格来对齐边缘。

    sed = filename | sed 'N;s/\n/\t/'
    awk '{i++;printf("%d\t%s\n",i,$0)}'
    perl -pe 'print "$.\t"'
    perl -pe '$_ = "$.\t$_"'
    

    对文件中的所有行编号(行号在左,文字右端对齐)。

    sed = filename | sed 'N; s/^/ /; s/ *\(.\{6,\}\)\n/\1 /'
    awk '{i++;printf("%6d %s\n",i,$0)}'
    perl -pe 'printf "%6d ", $.'
    

    对文件中的所有行编号,但只显示非空白行的行号。

    sed '/./=' filename | sed '/./N; s/\n/ /'
    awk '{i++;if(!/^$/)printf("%d %s\n",i,$0);else print}'
    perl -pe 'print "$. " unless /^$/'
    

    计算行数 (模拟 “wc -l”)

    sed -n '$='
    awk '{i++}END{print i}'
    perl -nle 'END { print $.}'
    

    相关文章

      网友评论

          本文标题:sed、awk、perl混合实现同样的功能——编号

          本文链接:https://www.haomeiwen.com/subject/skxmchtx.html