如何使用sed或grep处理此问题
我有一个包含20000行的文本文件,其中一些行内容为1个符号或2或3个符号:如何使用sed或grep处理此问题,sed,newline,Sed,Newline,我有一个包含20000行的文本文件,其中一些行内容为1个符号或2或3个符号: [\x{0990}-\x{099D}] 我想在行中最后一个符号后添加新行\n,如: 之前: 之后: Alpha beta @#$ gama 您需要搜索字符串: ([!@#$%^&*()_+=~`-]{1,3})([^!@#$%^&*()_+=~`-]*)$ 并替换为: \1\n\2 测试 符号列表可以根据您的需要进行调整。我在键盘上、数字键上添加了大部分符号。你是说这样的 sed 's/[\x0
[\x{0990}-\x{099D}]
我想在行中最后一个符号后添加新行\n,如:
之前:
之后:
Alpha beta @#$
gama
您需要搜索字符串:
([!@#$%^&*()_+=~`-]{1,3})([^!@#$%^&*()_+=~`-]*)$
并替换为:
\1\n\2
测试
符号列表可以根据您的需要进行调整。我在键盘上、数字键上添加了大部分符号。你是说这样的
sed 's/[\x0990-\x099D]\{1,3\} /&\n/' file.txt
解释
s # use substitution
/ # separator
[\x0990-\x099D]\{1,3\} # 1 to 3 symbols
/ # separator
&\n # replace with symbols\n
/ # separator
字符是
ঐওঔকখগঘঙচছজঝ代码>,您可以在sed
中明确使用它们:
sed -E 's/(ঐ|||ও|ঔ|ক|খ|গ|ঘ|ঙ|চ|ছ|জ|ঝ){1,3}[[:space:]]*/&\n/g'
完全就地命令:
sed -i -E 's/(ঐ|||ও|ঔ|ক|খ|গ|ঘ|ঙ|চ|ছ|জ|ঝ){1,3}[[:space:]]*/&\n/g' file; # GNU sed
sed -E -i '' 's/(ঐ|||ও|ঔ|ক|খ|গ|ঘ|ঙ|চ|ছ|জ|ঝ){1,3}[[:space:]]*/&\n/g' file; # Free BSD sed
看一看
这里,
(ঐ|||ও|ঔ|ক|খ|গ|ঘ|ঙ|চ|ছ|জ|ঝ){1,3}
是一个括号表达式,它匹配必需的字符1、2或3次
[[:space:][]*
-0+空格
&\n
替换模式插入整个匹配项,然后添加换行符
提示:要修剪这些字符后的空格,请使用
sed -E 's/((ঐ|||ও|ঔ|ক|খ|গ|ঘ|ঙ|চ|ছ|জ|ঝ){1,3})[[:space:]]*/\1\n/g'
谢谢,已经成功了,请告诉我如何将符号转换为unicode,如“a”转换为\04321。@Tomatow我正在使用它来快速检查这些东西。
sed -E 's/((ঐ|||ও|ঔ|ক|খ|গ|ঘ|ঙ|চ|ছ|জ|ঝ){1,3})[[:space:]]*/\1\n/g'