gawk -F"|" -v line=7 "NF!=line+1{print>\"新文本1.txt\"}NF==line+1{print>\"新文本2.txt\"}" a.txt
运行后可以将文本中分隔符为7个的行与不是7个的行分成两个文本。
为了方便操作并把新生成的文本放在原文件同目录下,
修改成下面这样后就不能正常运行了,
gawk命令该如何将带有路径的文件放入到语句中呢?
@echo off
set path=%path%;"%ProgramFiles%\tools"
echo.
echo.
set /p file= 请将要处理的文本拖放到这里:
echo.
set /p geshu= 此文本每行中应该有几个分隔符:
set /a geshu+=1
echo.
gawk -F"|" "NF!=%geshu%{print>\"%file%.新文本1.txt\"}NF==%geshu%{print>\"%file%.新文本2.txt\"}" "%file%"
echo.
pause
==================================
样本: a.txt
1|0757 | 合同 | 其它 | 殷晏 | 200837015029392 | 4000.0 |
2|0752 | 合同 | 经济原因 | 葛宝 | 200000026251 | 10232.35 |
3|2810 | 合同 | 经济原因 | 王传 | 2002810000013079 | 479.0 |
4|2810 | 合同 | 经济原因 | 王传 | 20028000013079 | 479.0 |
5|2810 | 合同 | 经济原因 | 趙朹 | 燕 | 200231000013099 | 939.0 |
6|2810 | 合同 | 经济原因 | 王传 | 200237281000013079 | 23.72 |
7|2810 | 合同 | 经济原因 | 王传 | 200237810000013079 | 260.28 |
8|0808 | 合同 | 经济原因 | 梁汝 | 2005300005411 | 280.0 |
9|1104 | 合同 | 其它 | 张成 | 2008374015010838 | 1630.0 |
10|1104 | 合同 | 其它 | 张成 | 200830015010838 | 36.0 |
11|1104 | 合同 | 其它 | 张成 | 200837015010845 | 10.0 |
12|1104 | 合同 | 其它 | 张成 | 20083715010845 | 10.0 |
13|1104 | 合同 | 其它 | 张成 | 20083602015010845 四湖 |
[ Last edited by youaoyi on 2008-9-17 at 11:52 AM ]
运行后可以将文本中分隔符为7个的行与不是7个的行分成两个文本。
为了方便操作并把新生成的文本放在原文件同目录下,
修改成下面这样后就不能正常运行了,
gawk命令该如何将带有路径的文件放入到语句中呢?
@echo off
set path=%path%;"%ProgramFiles%\tools"
echo.
echo.
set /p file= 请将要处理的文本拖放到这里:
echo.
set /p geshu= 此文本每行中应该有几个分隔符:
set /a geshu+=1
echo.
gawk -F"|" "NF!=%geshu%{print>\"%file%.新文本1.txt\"}NF==%geshu%{print>\"%file%.新文本2.txt\"}" "%file%"
echo.
pause
==================================
样本: a.txt
1|0757 | 合同 | 其它 | 殷晏 | 200837015029392 | 4000.0 |
2|0752 | 合同 | 经济原因 | 葛宝 | 200000026251 | 10232.35 |
3|2810 | 合同 | 经济原因 | 王传 | 2002810000013079 | 479.0 |
4|2810 | 合同 | 经济原因 | 王传 | 20028000013079 | 479.0 |
5|2810 | 合同 | 经济原因 | 趙朹 | 燕 | 200231000013099 | 939.0 |
6|2810 | 合同 | 经济原因 | 王传 | 200237281000013079 | 23.72 |
7|2810 | 合同 | 经济原因 | 王传 | 200237810000013079 | 260.28 |
8|0808 | 合同 | 经济原因 | 梁汝 | 2005300005411 | 280.0 |
9|1104 | 合同 | 其它 | 张成 | 2008374015010838 | 1630.0 |
10|1104 | 合同 | 其它 | 张成 | 200830015010838 | 36.0 |
11|1104 | 合同 | 其它 | 张成 | 200837015010845 | 10.0 |
12|1104 | 合同 | 其它 | 张成 | 20083715010845 | 10.0 |
13|1104 | 合同 | 其它 | 张成 | 20083602015010845 四湖 |
[ Last edited by youaoyi on 2008-9-17 at 11:52 AM ]

