我想从ls -l
输出中获得倒数第二行。我知道ls -l|tail -n 2| head -n 1
可以做到这一点,只是想知道sed
是否可以在一个命令中做到这一点?
发布于 2011-11-30 14:37:52
ls -l|sed -n 'x;$p'
它不能倒数第三,因为sed只有1个保留空间,所以只能记住一个更老的行。由于它一次处理一行,因此在处理它时不知道该行将是倒数第二行。awk可以返回thrid到最后,因为你可以有任意数量的变量,但是脚本会比tail -n X|head -n 1
长得多。
发布于 2011-11-30 14:41:56
在awk一行程序中:
echo -e "aaa\nbbb\nccc\nddd" | awk '{v[c++]=$0}END{print v[c-2]}'
ccc
发布于 2011-11-30 14:45:26
尝试此操作以删除文件中倒数第二行
sed -e '$!{h;d;}' -e x filename
https://stackoverflow.com/questions/8321955
复制相似问题