使用KSH,如何將“12345”轉換為“1.2.3.4.5”?

使用KSH,如何將“12345”轉換為“1.2.3.4.5”?

使用 KSH,如果我有一個字串12345並且希望將其轉換為1.2.3.4.5,我該怎麼做?

我嘗試使用cut,但並不簡單。

echo "12345" | cut -c1

答案1

awk答題:

echo "12345" | awk '$1=$1' FS= OFS="."

輸出是:

1.2.3.4.5

答案是根據解決方案之一修改的這個堆疊溢位郵政。

答案2

Perl 正規表示式(帶有查找和反向引用)答案將除最後一個之外的所有內容替換為所有內容加點(假設這就是問題所在):

$ echo "12345" | perl -wlpe 's/(.(?=.))/$1\./g'
1.2.3.4.5

答案3

在 OpenSolaris 上使用 ksh 和 /usr/bin/sed 測試的 sed 解決方案

echo "12345" | /usr/bin/sed -e 's/./&\./g' -e 's/\.$//'

相關內容