我有一个名为 $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 兼容