2

ファイルの行(単語)を逆にしたい。

cat dummy

Hugo
Dumas
Camus

必要な出力は次のようになります。

Hugo oguH
Dumas samuD
Camus sumaC

おそらく awk で行うのが最も簡単ですが、perl oneliner も素晴らしいでしょう。

4

4 に答える 4

2
$ perl -pi -le '$_ .= $" . reverse' file.txt

説明(詳細perldoc perlrunはを参照):

  • -p:行ごとのモードでファイルを処理および印刷する
  • -i:インプレース編集を有効にする
  • -l:行末を自動的に処理します(chomp一緒に使用すると暗黙的にs-pと追加$\されます)
  • $"' ':デフォルト値として書く別の方法はスペースです
  • $_ .= $" . reverse

    $_行に含まれる文字列に対応します(chomp-ed行末を除く)。したがって、ここでは、単一のスペース()に.=連結し、その後に-d文字列が続きます。スカラーコンテキストでは引数が指定されていない場合は逆になるため、明示的に指定する必要はないことに注意してください。$_$"reversereverse($_)reverse()$_

于 2013-01-26T10:09:22.060 に答える