我的 Linux 机器中的 version 命令显示以下输出
version
Red.Hat.OS. release..........5.5
APP.Release.............4.2.0.0-02
怎么去掉中间的“。" 点字符而不将其从参数中删除,如下所示:
version | .......
Red.Hat.OS. release 5.5
APP.Release version 4.2.0.0-02
- 参数中备注字符之间只能是一个点字符
答案1
- 用 TAB替换第一次出现的 >1
.
:sed 's/\.\.\+/\t/'
.
用 TAB替换所有出现的 >1 :sed 's/\.\.\+/\t/g'
/awk -F"[.][.]+" -vOFS="\t" '($1=$1)||1'
- 将第一次出现的 >1
.
后跟数字替换为 TAB:sed 's/\.\.\+\([[:digit:]]\)/\t\1/'
- 将所有出现的 >1
.
后跟数字的情况替换为 TAB:sed 's/\.\.\+\([[:digit:]]\)/\t\1/g'
/gawk -vRS="[.][.]+[[:digit:]]" '(ORS=(RT?"\t"substr(RT,length(RT)):""))||1'
所有这些命令都会针对给定的输入返回您想要的输出。
请随时要求解释和/或调整。