Sed
如何組合正則表達式的 POSIX 字元類?
我需要在 sed 使用的正則表達式中組合不同的字元類。我需要匹配
[:word:]
和減號-
。看起來怎麼樣?我所有的嘗試都未能嘗試或尋找解決方案。在以下字元串中,我想匹配所有內容,直到第一個空格:
foo-bar | baz-xyz-123 |
POSIXly:
sed 's/[^[:alnum:]_-]//g'
將刪除目前語言環境中不是字母數字字元的所有內容,
_
並且-
.$ echo 'foo-bar |' | sed -e 's/[^[:alnum:]_-]//g' foo-bar
但是,如果您想列印所有內容,直到第一個空格:
sed -e 's/^\([^ ]*\) .*/\1/'
或
awk
:awk '{print $1}'