拥有一个主文件(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>
HTML页面在<field_2>
中定义。 <field_3>
可能没有必要,但包含在此处表示end_of_file的逻辑位置。
如何使用awk
为每行生成一个文件(以<item_ID>
开头),其中新文件的内容为<field_2>
,新文件的名称为{ {1}}?
我在<field_1>
下运行GNUwin32
,并将Windows 7
解决方案配置为在awk
文件中执行。不幸的是,在Windows中无法进行管道连接,因此希望能够使用单awk程序解决方案。
答案 0 :(得分:5)
假设field 3
中的HTML可能包含或不包含标签:
awk -F'\t' 'match($0,/<html>.*<\/html>/){print substr($0,RSTART,RLENGTH) > $2}' file