我的任务:
编写一个shell脚本,该脚本反转文件中名称由第一个参数指定的行的顺序,并将其包含的行以相反的顺序复制到标准输出中。
使用
cat -n
和sort -nr
以降序排列,并且sed
可用于删除可预测的文本。例如,如果文件包含以下内容:
First Second Third Fourth
输出应为:
Fourth Third Second First
我不能使用tac
。
答案 0 :(得分:0)
在没有tac
的情况下,可以使用Perl脚本,例如:
perl -le 'while (<>) {
chomp;
push @lines,$_;
}
END{ print for reverse @lines; }'
inputfile
如果您的绝对要求是使用cat
,sort
和sed
,则可以执行以下操作:
cat -n file|sort -rnk1,1|sed -e s/^[[:blank:]]*[[:digit:]]*[[:blank:]]//
这将删除前导空白字符; cat -n
中的数字和原始文本行之前的空格。