仅当字符串在 shell 中匹配时才删除字符串的第一个和最后一个字符?

INe*_*101 5 bash shell

所以我基本上是从文件中读取第一行,并且我希望修剪第一个和最后一个字符,但前提是它们等于某个字符。我希望从字符串中删除“{”和“}”,但前提是它们分别是第一个和最后一个字符。

输入:

{Some_random_data_here, {more data here}, test}  
Run Code Online (Sandbox Code Playgroud)

输出:

Some_random_data, {more data here}, test
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的完整命令,它能够删除第一个命令,但不能删除最后一个命令。

$(head -n 1 "$filePath" | sed s/^{//;s/}$//)
Run Code Online (Sandbox Code Playgroud)

Pau*_*mer 4

当我测试它时,你的解决方案有效,我只需要转义;.

$ echo '{Some_random_data_here, {more data here}, test}' | sed s/^{//\;s/}$//
Some_random_data_here, {more data here}, test
Run Code Online (Sandbox Code Playgroud)