Perl CLI 代碼如何直接附加一行
所以下面是錯誤的,因為行需要洗掉它的換行符
$ for i in {1..7}; { echo $i ;} |perl -npe '$_= "=".$_."=" '
=1
==2
==3
==4
==5
==6
==7
=
通過需要堅持 on-np 選項,然后無法使其正常作業:
$ for i in {1..7} ;{ echo $i ;} |perl -npe '$_= "=".chop($_)."=\n" '
=
=
=
=
=
=
=
=
=
=
=
=
=
=
請解決,非常感謝。
uj5u.com熱心網友回復:
您沒有指定要達到的輸出。我猜你想要
=1=
=2=
=3=
=4=
...
chop回傳洗掉的字符,而不是剩余的字串。它就地修改變數。所以以下是正確的用法:
perl -npe'chop( $_ ); $_ = "=$_=\n"'
但我們可以改進這一點。
chomp使用它而不是chop洗掉尾隨換行符更安全。-n由 隱含-p,并且習慣上在-p使用時將其省略。chomp并且默認chop修改$_,所以我們不需要顯式傳遞$_.
perl -pe'chomp; $_ = "=$_=\n"'
最后,我們可以從-l.
perl -ple'$_ = "=$_="'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/497261.html
上一篇:Scala字串到Char
下一篇:轉換成LINQ運算式樹
