使用awk将一个文件拆分为多个文件

Jay*_*ray 0 awk gawk

有一个主文件(Master.txt),其中每一行都是一个定义HTML页面的字符串,每个字段都以制表符分隔.记录布局如下:

<item_ID>   <field_1>   <field_2>   <field_3>
1   1.html  <html>[content for 1.html in HTML format]</html>    <EOF>
2   2.html  <html>[content for 2.html in HTML format]</html>    <EOF>
3   3.html  <html>[content for 3.html in HTML format]</html>    <EOF>
Run Code Online (Sandbox Code Playgroud)

HTML页面定义于<field_2>.<field_3>可能没有必要,但此处包含以指示end_of_file的逻辑位置.

如何使用awk<item_ID>新文件的内容和新文件<field_2>的名称所在的每一行(以其开头)生成文件<field_1>

正在运行GNUwin32Windows 7,将配置一个awk解决方案的执行.bat文件.不幸的是不能在Windows中做管道衬里,所以希望有一个单awk程序解决方案.

TY提前.

Ed *_*ton 5

假设HTML in field 3可能包含或不包含选项卡:

awk -F'\t' 'match($0,/<html>.*<\/html>/){print substr($0,RSTART,RLENGTH) > $2}' file
Run Code Online (Sandbox Code Playgroud)

  • +1但应该是'print ...> $ 2`?:-D (2认同)