Bash 在两个角色之间获得一切
我想搜索两个连续的*字符并保存它们之间的所有内容,包括带*的第一行。 例子: 输入: 产出1:Bash 在两个角色之间获得一切,bash,awk,sed,grep,Bash,Awk,Sed,Grep,我想搜索两个连续的*字符并保存它们之间的所有内容,包括带*的第一行。 例子: 输入: 产出1: A*1 A B 产出2: B*4 C 产出3: Y*5 D 您可以使用: awk '/\*/ { n++; } { print >> "output" n }' inputfile 这将写入三个文件,output1、output2和output3,其中包含问题中的内容。包含*的行之前的任何文本都将进入输出 您可以使用: awk '/\*/ { n++; } { print >
A*1
A
B
产出2:
B*4
C
产出3:
Y*5
D
您可以使用:
awk '/\*/ { n++; } { print >> "output" n }' inputfile
这将写入三个文件,output1
、output2
和output3
,其中包含问题中的内容。包含*
的行之前的任何文本都将进入输出 您可以使用:
awk '/\*/ { n++; } { print >> "output" n }' inputfile
awk 'BEGIN { RS="your delimiter"} {print $0}'
这将写入三个文件,output1
、output2
和output3
,其中包含问题中的内容。包含*
的行之前的任何文本都将进入输出 您可以使用:
awk '/\*/ { n++; } { print >> "output" n }' inputfile
awk 'BEGIN { RS="your delimiter"} {print $0}'
这将写入三个文件,output1
、output2
和output3
,其中包含问题中的内容。包含*
的行之前的任何文本都将进入输出 您可以使用:
awk '/\*/ { n++; } { print >> "output" n }' inputfile
awk 'BEGIN { RS="your delimiter"} {print $0}'
这将写入三个文件,output1
、output2
和output3
,其中包含问题中的内容。包含*
的行之前的任何文本都将进入输出
awk 'BEGIN { RS="your delimiter"} {print $0}'
RS是记录分隔符,在开始时定义它可以让您根据需要分割输入
使用NR打印当前记录编号
awk 'BEGIN { RS="\""} {print "output " NR ":\n" $0}'
RS是记录分隔符,在开始时定义它可以让您根据需要分割输入
使用NR打印当前记录编号
awk 'BEGIN { RS="\""} {print "output " NR ":\n" $0}'
RS是记录分隔符,在开始时定义它可以让您根据需要分割输入
使用NR打印当前记录编号
awk 'BEGIN { RS="\""} {print "output " NR ":\n" $0}'
RS是记录分隔符,在开始时定义它可以让您根据需要分割输入
使用NR打印当前记录编号
awk 'BEGIN { RS="\""} {print "output " NR ":\n" $0}'
这可能适合您:
csplit -zf 'output' file '/\*/' '{*}'
这将拆分*
上的文件(/\*/
),并将结果文件命名为outputn
,其中nn
从00开始。空行文件不会输出,并且该过程会重复到文件结尾({*}
)。这可能适用于您:
csplit -zf 'output' file '/\*/' '{*}'
这将拆分*
上的文件(/\*/
),并将结果文件命名为outputn
,其中nn
从00开始。空行文件不会输出,并且该过程会重复到文件结尾({*}
)。这可能适用于您:
csplit -zf 'output' file '/\*/' '{*}'
这将拆分*
上的文件(/\*/
),并将结果文件命名为outputn
,其中nn
从00开始。空行文件不会输出,并且该过程会重复到文件结尾({*}
)。这可能适用于您:
csplit -zf 'output' file '/\*/' '{*}'
这将拆分*
上的文件(/\*/
),并将结果文件命名为outputn
,其中nn
从00开始。不输出空行文件,该过程将重复到文件结尾({*}
)。谢谢!如何定义打印行数的条件。e、 g如果行数大于3,则在每个输出上打印。例如,如果行数大于3,则在每个输出上打印。awk'BEGIN{RS=“\”“}NR>3{print”output“NR”:\n“$0}”谢谢!如何定义打印行数的条件。例如,如果行数大于3,则在每个输出上打印。awk'BEGIN{RS=“\”“}NR>3{print”output“NR”:\n“$0}”谢谢!如何定义打印行数的条件。e、 g如果行数大于3,则在每个输出上打印。例如,如果行数大于3,则在每个输出上打印。awk'BEGIN{RS=“\”“}NR>3{print”output“NR”:\n“$0}”谢谢!如何定义打印行数的条件。例如,如果行数大于3,则在每个输出上打印。awk'BEGIN{RS=“\”“}NR>3{print”output“NR”:\n“$0}”谢谢!如何定义打印行数的条件。e、 g如果行数大于3,则打印每个输出。@ahb65您是说您的示例中不需要output2和output3,因为它们少于3行?@ahb65有一些建议,可以根据它们的行数删除文件!如何定义打印行数的条件。e、 g如果行数大于3,则打印每个输出。@ahb65您是说您的示例中不需要output2和output3,因为它们少于3行?@ahb65有一些建议,可以根据它们的行数删除文件!如何定义打印行数的条件。e、 g如果行数大于3,则打印每个输出。@ahb65您是说您的示例中不需要output2和output3,因为它们少于3行?@ahb65有一些建议,可以根据它们的行数删除文件!如何定义打印行数的条件。e、 g如果行数大于3,则打印每个输出。@ahb65您是说您的示例中不需要output2和output3,因为它们少于3行吗?@ahb65有一些建议,可以根据它们的行数删除文件