String 使用shell脚本在文件中插入CR字符
我有一个巨大的数据块,我想通过在一些已识别的模式之前插入回车符来将其拆分成几行。 (在这个阶段,我不想使用LinuxSplit命令) 所以我在看:String 使用shell脚本在文件中插入CR字符,string,bash,shell,file,unix,String,Bash,Shell,File,Unix,我有一个巨大的数据块,我想通过在一些已识别的模式之前插入回车符来将其拆分成几行。 (在这个阶段,我不想使用LinuxSplit命令) 所以我在看: 如何识别数据块中的模式 如何在图案开始位置之前插入CR 例如: 该块是1234abcde56785abcde53453FEFDabcde 结果在文件中应如下所示: 1234 abcde56785 abcde53453FEFD abcde 谢谢社区 您的模式根本不容易理解,因此下次请尝试添加一些信息: 您可以使用以下sed命令: echo "1234
1234abcde56785abcde53453FEFDabcde
结果在文件中应如下所示:
1234
abcde56785
abcde53453FEFD
abcde
谢谢社区 您的模式根本不容易理解,因此下次请尝试添加一些信息: 您可以使用以下
sed
命令:
echo "1234abcde5678abcde53453FEFDabcde" | sed -E 's/(abcde[0-9]*[A-Z]*)/\n\1/g'
1234
abcde5678
abcde53453FEFD
abcde
如果需要windows EOL,请将其更改为
sed -E 's/(abcde[0-9]*[A-Z]*)/\r\n\1/g'
有关sed
的说明:
用于扩展正则表达式支持,否则需要转义字符,如-E
(,),+,{,}
在全局模式下查找和替换的命令s/PATTERN/REPLACEMENT/g
用于分组和反向引用()
为了匹配以abcde[0-9]*[A-Z]*
开头的所有内容,最后是一些数字和一些大写字母:abcde
正则表达式起点:根据所显示的输出,不完全确定您的需求,请尝试以下内容,并让我知道这是否有帮助
awk '{gsub(/abcde/,"\n&")} 1' Input_file
或者(在abcde
的情况下,字符串并不总是相同的,它可以是任何小写字母)
您的分割规则是什么?当您说回车时,您指的是Linux下线
\n
?不需要windows\r\n
EOL right?立即启动!银行@Erwan,酷,再看一次这个链接,一旦有人在SO@RavinderSingh13上的答案上帮助你,你该怎么办:像往常一样回答得很好!
awk '{gsub(/[a-z]+/,"\n&")} 1' Input_file