1

我的文件内容为:

file1.txt|file2.txt|file2.txt|.............................fileN.txt
log1.txt|log2.txt|log3.txt|................logN.txt

我想将每一行从右到左打印为:输出:

fileN.txt|fileN-1.txt|fileN-2.txt|.............................file1.txt
logN.txt|logN-1.txt|logN-2.txt|................log1.txt

如果不清楚,请帮助或让我知道。

4

3 回答 3

1

当您阅读此文件时,您可以编写简单的 perl 脚本...用分隔符将行"|"切开并将其放入一个数组中,然后再次将此数组与反向索引写入文件。

我希望你理解算法

问候, 维奈

于 2013-01-31T07:26:53.837 回答
1

这是一种使用方法awk

awk -F "|" '{ for (i=NF;i>=1;i--) printf "%s", $i (i==1 ? "\n" : FS) }' file

测试:

内容file

file1.txt|file2.txt|file3.txt|file4.txt|file5.txt|file6.txt
log1.txt|log2.txt|log3.txt|log4.txt|log5.txt

结果:

file6.txt|file5.txt|file4.txt|file3.txt|file2.txt|file1.txt
log5.txt|log4.txt|log3.txt|log2.txt|log1.txt
于 2013-01-31T07:51:33.863 回答
1

如果你更喜欢 Python

for line in open("file.txt").read().split("\n"):
    print "|".join(line.split("|")[::-1])
于 2013-01-31T08:28:10.613 回答