我想從文本文件中提取大括號之間的所有內容,並將輸出寫入另一個文本文件。我能夠構造一個正則表達式來匹配{}之間的所有內容,並且它工作正常(我編寫了一個簡單的java程序來測試它),但是我在unix中不是很強大,因此不確定如何在unix中使用這個正則表達式。正則表達式提取unix中大括號之間的所有內容
下面的正則表達式匹配之間的一切{}(在jEdit的作品太)
\{([^}]+)\}
我想下面的sed命令,
cat samplefile | sed -e 's/.*\{\([^}]+\)\}.*/\1/g'
我收到以下錯誤。
sed: -e expression #1, char 24: Invalid preceding regular expression
在我找到一個正則表達式來匹配[]之間的所有內容,它的效果很好。不知道我哪裏錯了。有人可以幫我修復我的正則表達式嗎?
cat file |sed -e 's/.*\[\([^]]*\)\].*/\1/g'
編輯1:
解決方案:
cat file | sed -e 's/.*{\([^}]\+\)}.*/\1/g' --> works