答案1
用单引号引用你的 sed 表达式是一个好习惯,除非你知道你想要 shell 扩展,例如$d
.sed
将你的最终表达式视为
sed "/^"
如果 shell 变量$d
未设置。
(为了将来的调试目的,您可以sed "(your expression)" usdeclar.txt
依次运行每个表达式,以找出哪个表达式给您带来麻烦。)
(作为旁注:tr -d '[-&;.]'
应该做与前四个相同的事情sed
。)
答案2
在您sed
引用为“原始字符串”的命令中,您似乎使用
U+201C “ e2 80 9c LEFT DOUBLE QUOTATION MARK
U+201D ” e2 80 9d RIGHT DOUBLE QUOTATION MARK
代替"
(0x22) ASCII 字符。 shell 都无法sed
识别。
尝试使用 *nix 文本编辑器。
答案3
在互联网上搜索 sed [[:punc:]] 可能是值得的。它可能会缩短你的命令行。