-1

我在 Perl 中有一个问题:使用替换运算符反转每个输入行的前三个单词的顺序。保持间距不变,并打印每个结果行。

我该如何解决这个问题?任何想法?在此先感谢。

4

2 回答 2

1

试试这个

$line =~ s/^(\s*)(\w+)(\s+)(\w+)(\s+)(\w+)/$1$6$3$4$5$2/;

没有发布完整的代码,因为它似乎是家庭作业或类似的东西。

于 2012-11-05T08:00:42.287 回答
0

虽然 awk 没有被标记。可能您想了解 awk 解决方案:

awk '{x=$3" "$2" "$1;$3=$2=$1=""; print x,$0}' your_file
于 2012-11-05T10:30:48.407 回答