我想反转文本文件(或stdin)中的行顺序,保留每行的内容。
因此,从以下内容开始:
foo
bar
baz
我希望最后
baz
bar
foo
是否有用于此的标准UNIX命令行实用程序?
我想反转文本文件(或stdin)中的行顺序,保留每行的内容。
因此,从以下内容开始:
foo
bar
baz
我希望最后
baz
bar
foo
是否有用于此的标准UNIX命令行实用程序?
当前回答
您可以在命令行上使用Perl:
perl-e'my@b=();而(<>){push(@b,$_);};打印联接(“”,反向(@b));'原始>版本
其他回答
Just Bash:)(4.0+)
function print_reversed {
local lines i
readarray -t lines
for (( i = ${#lines[@]}; i--; )); do
printf '%s\n' "${lines[i]}"
done
}
print_reversed < file
请尝试以下命令:
grep -n "" myfile.txt | sort -r -n | gawk -F : "{ print $2 }"
tac <file_name>
例子:
$ cat file1.txt
1
2
3
4
5
$ tac file1.txt
5
4
3
2
1
sort -r < filename
or
rev < filename
最佳解决方案:
tail -n20 file.txt | tac