【发布时间】:2012-08-25 19:27:47
【问题描述】:
我想解析 *.ini 文件中的部分条目之类的内容:
line=' [ fdfd fdf f ] '
这条线分割的 sed 模式 (???) 可能是什么
'fdfd fdf f'
出去?
所以:
echo "${line}" | sed -E 's/???/\1/g'
我如何描述除 [[:space:]]、[ 和 ] 之外的所有字符?这对我不起作用:[^[[:space:]]\[]*。
【问题讨论】:
-
尝试:echo "${line}" | sed -E 's/^[[:space:]]*\[[[:space:]]*(.*)[[:space:]]*\][[:space:]]*$/\ 1/'
-
..或者你想匹配除中间部分之外的所有内容吗?回声“${line}”| sed -E 's/^([[:space:]]*\[[[:space:]]*).*([[:space:]]*][[:space:]]*)$/ \1\2/'
标签: regex sed pattern-matching sh