教育统筹局局长为何不接受我的意见



嗨,我是unix的新手,正在尝试制作一个使用SED从用户输入中删除标点符号的脚本。但它不起作用。

read -p "Please enter a word or sentence: " word
sed -n 's/[^a-zA-Z ]//g' $word

如果我输入abcd。,abcd它会给我一个错误"sed:无法读取abcd,.abcd:没有这样的文件或目录"

所以我想这意味着它将变量$word视为一个文件,而不是我希望它处理的字符串。

我该怎么解决这个问题?

sed将参数视为输入文件。

请尝试以下操作:

echo "$word" | sed -n 's/[^a-z]//ig'

这可能对你有用(bash):

sed 's/[^a-zA-Z ]//g' <<<"$word"

这利用了bash中的here-string

相关内容

  • 没有找到相关文章

最新更新