我想反转文本文件(或stdin)中的行顺序,保留每行的内容。
因此,从以下内容开始:
foo
bar
baz
我希望最后
baz
bar
foo
是否有用于此的标准UNIX命令行实用程序?
我想反转文本文件(或stdin)中的行顺序,保留每行的内容。
因此,从以下内容开始:
foo
bar
baz
我希望最后
baz
bar
foo
是否有用于此的标准UNIX命令行实用程序?
当前回答
BSD尾部:
tail -r myfile.txt
参考:FreeBSD、NetBSD、OpenBSD和OS X手册页。
其他回答
请尝试以下命令:
grep -n "" myfile.txt | sort -r -n | gawk -F : "{ print $2 }"
我看到了很多有趣的想法。但试试我的主意。用管道将文本输入到:
rev|tr'\n“~”| rev|tr“~”\n“
它假定字符“~”不在文件中。这应该适用于1961年的每一个UNIX shell。或者类似的东西。
您可以在命令行上使用Perl:
perl-e'my@b=();而(<>){push(@b,$_);};打印联接(“”,反向(@b));'原始>版本
tac <file_name>
例子:
$ cat file1.txt
1
2
3
4
5
$ tac file1.txt
5
4
3
2
1
最佳解决方案:
tail -n20 file.txt | tac