【发布时间】:2012-09-12 10:59:18
【问题描述】:
我有一个名为 $string 的字符串
string='-d $DESTDIR/ERRORS/$BASEDIR ]] || $MKDIR -p word1 word22 word3.5'
目前我通过 sed 管道传输了两次。一次拉出特殊字符,然后再次将空格/制表符更改为单个空格。
echo $string | sed 's/[^a-zA-Z0-9]/ /g' | sed 's/\s\s*/ /g'
output='d DESTDIR ERRORS BASEDIR MKDIR p word1 word22 word3 5'
虽然这可行,但我希望获得一些效率。 有人可以帮我把它整合到一个 sed 命令中吗?
编辑 我应该注意到这需要与 HP/SOL/LIN 的 POSIX 兼容
【问题讨论】: