标题: [其他] 【已解决】cut 命令:如何添加循环语句,依次截取各列字符 [打印本页]
作者: 思想之翼 时间: 2023-4-18 14:36 标题: 【已解决】cut 命令:如何添加循环语句,依次截取各列字符
本帖最后由 思想之翼 于 2023-4-18 16:44 编辑
- cut -b 1 test.txt>001.txt
复制代码
上述cut 命令,截取test.txt第1列,写入001.txt
如何添加循环语句,以实现截取test.txt第1-100列,写入001.txt 002.txt ... 100.txt
作者: idwma 时间: 2023-4-18 14:58
可以参考一下
作者: Batcher 时间: 2023-4-18 15:07
回复 2# idwma
告诉这个AI它忘了开启变量延迟扩展。
作者: idwma 时间: 2023-4-18 15:28
回复 3# Batcher
他每次回复细节上都有一点不同,有时候就会加上
作者: newswan 时间: 2023-4-18 16:06
- @echo off
- setlocal ENABLEDELAYEDEXPANSION
-
- for /l %%a in (1,1,100) do (
- set file=00%%a
- set file=!file:-3!
- cut -b %%a test.txt > !file!.txt
- )
复制代码
作者: Batcher 时间: 2023-4-18 16:53
回复 1# 思想之翼
推荐试试 gawk.exe 第三方命令行工具:
http://bcn.bathome.net/s/tool/index.html?key=gawk
test-1.bat- @echo off
- cd /d "%~dp0"
- gawk "{for(i=1;i<=3;i++){n=sprintf(\"%%03d\",i); print $i >n\".txt\"}}" "test.txt"
复制代码
作者: 思想之翼 时间: 2023-4-24 18:50
本帖最后由 思想之翼 于 2023-4-24 21:41 编辑
回复 6# Batcher
感谢帮助!该gawk代码是按列分割
1 1 1 1...1
2 2 2 2...2
若按字节分割
111111...1
222222...2
如何表达?恳望指点。
作者: hfxiang 时间: 2023-4-24 19:31
回复 7# 思想之翼
如果使用gawk,请确保test.txt已保存为ANSI编码
命令行模式(单百分号):- gawk -vFS="" "{for(i=1;i<=NF;i++){n=sprintf(\"%03d\",i); print $i>n\".txt\"}}" "test.txt"
复制代码
脚本模式(双百分号):- gawk -vFS="" "{for(i=1;i<=NF;i++){n=sprintf(\"%%03d\",i); print $i>n\".txt\"}}" "test.txt"
复制代码
作者: terse 时间: 2023-4-24 21:27
就是列转行吧
作者: terse 时间: 2023-4-24 22:10
有没有分隔符不重要,重要的是列数和行数字符一致
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |