[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 【已解决】gawk:按行分割文本,如何指定输出路径

本帖最后由 思想之翼 于 2023-7-28 13:19 编辑
  1. gawk "NR%%100==1{close(n\".txt\");++n}{print>n\".txt\"}" "d:\data1\a.txt"
复制代码
上述代码,将分割后的各个文本,写入代码所在的文件夹,如何写入指定的 d:\data2\ 文件夹?【非移动删除的方法】

可以在输出文件路径前加上 d:\data2\ 目录的路径,如下所示:
  1. gawk "NR%%100==1{close(n\".txt\");++n}{print>n\"d:\data2\".txt\"}" "d:\data1\a.txt"
复制代码
这样就可以将分割后的各个文本写入指定的 d:\data2\ 文件夹中。请注意,在输出文件路径中使用双反斜杠 \\ 来转义反斜杠 \,以避免路径中的反斜杠被解释为转义字符。
1

评分人数

TOP

本帖最后由 思想之翼 于 2023-7-27 11:00 编辑

回复 2# 447219071

测试 d:\data2\   d:\\data2\\  都没通过,恳望指点,谢谢!

TOP

外行思路...
  1. @echo off
  2. pushd "d:\data2\"
  3. gawk "NR%%100==1{close(n\".txt\");++n}{print>n\".txt\"}" "d:\data1\a.txt"
  4. popd
复制代码
1

评分人数

bat小白,请多指教!谢谢!

TOP

回复 1# 思想之翼
  1. gawk "NR%100==1{close(\"d:/data2/\"n\".txt\");++n}{print>\"d:/data2/\"n\".txt\"}" "d:\data1\a.txt"
复制代码
1

评分人数

TOP

回复 5# hfxiang

感谢!我自己测试,未能分割文件,只生成一个名为“.txt”的文件,内容与原文件一样。

TOP

回复 6# 思想之翼

5楼的指令俺在命令行中测试完全正常(用单百分号:%),如果在脚本中执行,需用双百分号(双百分号:%%),如下,经测试亦完全正常
  1. gawk "NR%%100==1{close(\"d:/data2/\"n\".txt\");++n}{print>\"d:/data2/\"n\".txt\"}" "d:\data1\a.txt"
复制代码
1

评分人数

TOP

返回列表