这是关于在文本文件中查找带有特殊字符的单词并将其分开。
例如:我有一个名为temp.txt
的文件,具有以下值。文件可以包含n
个值,但我仅以4个为例。
Ag$thyg
bacde
\RTysdre
stack
所以,我希望没有特殊字符的值存储在另一个文件中。
您可能可以使用此sed:
sed -i.bak 's/[^a-zA-Z0-9_-]*//g' file
这将删除每个不是字母数字或下划线或连字符的字符。
但是我想您需要更好地定义特殊字符。
EDIT:根据注释,您可以使用grep:
grep -v '[^a-zA-Z0-9_-]' file > newfile
或其他:
egrep '^[a-zA-Z0-9_-]+$' file > newfile
像这样使用tr
:
tr -d "[^a-zA-Z0-9]" < yourfile
并在方括号内列出您特别讨厌的所有多余字符!此刻,tr
将删除(-d
)所有不区分大小写的字母和数字。
如果要将输出保存到新文件,请执行以下操作:
tr -d "[^a-zA-Z0-9]" < yourfile > newfile