Perl

在一行中連接欄位並刪除尾隨空格

  • March 29, 2018

我有一個由空格分隔的 3 個欄位的字元串。我想連接最後兩個欄位,-確保最後的換行符被刪除。

以下作品:

echo -n "abc 1234 5679" | tr -s "" |cut -d ' ' -f2 -f3 | tr " " "-"  

我想知道有沒有perl這個的線上人?

使用awk

printf 'abc 1234 5679' | awk '{printf "%s", $2"-"$3}'

orperlawk模式(-a):

printf 'abc 1234 5679' | perl -ape '$_ = "$F[1]-$F[2]"'

請注意,如果存在,如果要保留它,如果存在,兩者都會刪除行分隔符,使用 GNU awk

printf 'abc 1234 5679\n' | gawk '{printf "%s", $2"-"$3 RT}'

perl

printf 'abc 1234 5679\n' | perl -ape 's/.*/$F[1]-$F[2]/'

用這個 :

$ echo -n "abc 1234 5679" | perl -pe 's/(\d+)\s+(\d+)$/$1-$2/' 

引用自:https://unix.stackexchange.com/questions/434261