在 Unix 中删除单词开头的特殊字符

Remove special character at the beginning of words in Unix

我需要帮助从 Unix 中的单词开头删除特殊字符 shell。

例如我有这样的单词列表,

'aaa
'bbb
'ccc
'ddd

我想删除引号并得到这样的输出,

aaa
bbb
ccc
ddd

如何只删除每个单词开头的引号?

您需要在 字边界 处进行匹配,该字边界由 \b 分隔。

例如,如果您正在使用 sed 并想删除任何单词开头的单引号 ',您可以使用

sed "s/'\b//g"

这意味着 "replace any single quote immediately before a word boundary with an empty string"。

此外,如果您不担心行首,可以使用匹配行首的说明符 ^

sed "s/^'//g"

试试看:

echo 'aaa 'bbb 'ccc 'ddd | tr -d "'"