请将您的答案纳入工作的sed行。
解决方案:
sed -r "s/([^]].*)\[/\1\r[/g" testfile.txt
处理括号两侧的解决方案,并删除标签
sed -r "s/\t//g;s/([^]].*)\[/\1\r[/g;s/\]([^[].*)$/]\r\1/g" testfile.txt
我有这个gnuwin32(工作)sed行:
sed -r "s/(.*)\[/\1\r[/g" testfile.txt
它做的是
s/
(.*)\[ - matches anyString[
/
\1\r[ - splits anyString<INSERTSCARRIAGERETURN>[
/g
我想做的是使用^(非操作数)将anyString排除为&#34;]&#34;
所以...
之前几乎就是这个
*[
变为
*
[
...然而
如果* == ]
,我不想执行此操作。
有人建议我做^\[
但是,我不知道在^
等变量stringMask上实现(.*)
运算符的位置/方式。如果.*
以/ *
结尾,我]
是否会成为字符串问题?
我想要
(.*^\[)
或
(.*)^\[
任何帮助将不胜感激。
这是我的样本数据集
item_gloves
[OBJECT:ITEM]
###test###
[ITEM_GLOVES:ITEM_GLOVES_GAUNTLETS]###test###
[NAME:gauntlet:gauntlets]
###test###[ARMORLEVEL:2]
[UPSTEP:1]
###test###[SHAPED]
[LAYER:ARMOR]###test######test###
[COVERAGE:100]
[LAYER_SIZE:20]
[LAYER_PERMIT:15]
[MATERIAL_SIZE:2]
[SCALED]
[BARRED]
[METAL]
[LEATHER]
[HARD]
答案 0 :(得分:2)
sed -r "s/^([^]]*)\[/\1\r[/g" testfile.txt