Board logo

标题: [文本处理] 批处理如何使用finstr命令给文本每一行加行号? [打印本页]

作者: zhsh1128    时间: 2016-5-27 09:20     标题: 批处理如何使用finstr命令给文本每一行加行号?

本帖最后由 pcl_test 于 2016-5-27 23:12 编辑

a.txt中有如下数据:
dd
fgf
gg
ee
gg
jj
tt
ee
ss
cc
hh
uu
eeeedc
c
dddddesx
dddd
cc
sdsd
ccc
ee
s
ss


ddd
xx



finstr /n [a-z] a.txt >>c.txt

上面这条倒是可以加,但是空行的行号加不上。如何把空行也给加上行号?

还有能不能以回车换行来查找a.txt,这样可以对很多种文本都可以加上行号。

求教。
作者: enoone1    时间: 2016-5-27 09:50

findstr /n .* a.txt
作者: gawk    时间: 2016-5-27 13:07

  1. gawk "$0=NR\":\"$0" 1.txt > 2.txt
复制代码

作者: zhsh1128    时间: 2016-5-27 13:31

回复 3# gawk

好像是不行。
作者: gawk    时间: 2016-5-27 13:34

  1. powershell -c "foreach ($i in $(get-content 1.txt)) {$n++; \"$n\" + \":\" + $i}"
复制代码

作者: gawk    时间: 2016-5-27 13:35

回复 4# zhsh1128


有可能是你的gawk版本问题,换个试试吧。
http://bbs.bathome.net/s/tool/index.html?key=gawk
作者: zhsh1128    时间: 2016-5-27 13:47

回复 6# gawk


    好的,谢谢。刚升级的win10,运行没通过。刚学批处理,还不知道gawk是什么,准备找教程学习一下。
作者: gawk    时间: 2016-5-27 14:08

回复 7# zhsh1128


    gawk是一个功能强大的第三方命令行文本处理工具,不是Windows操作系统自带的。
作者: zhsh1128    时间: 2016-5-27 14:11

回复 8# gawk


    怎么在windows下用gswk啊?我下了一个这个:gnuwin32 project 提供了很多 linux 命令的 Windows 移植版,awk 移植版下载地址:
http://sourceforge.net/projects/gnuwin32/files/gawk/3.1.6-1/gawk-3.1.6-1-src-setup.exe

装了,一头雾水。

你写的第二个命令,放在.dat中也能运行。

我加了 >>2.txt把结果给导出到记事本了。
作者: zhsh1128    时间: 2016-5-27 14:13

你给的链接,我下了一个64位的,运行之后,命令窗口一闪而逝,然后呢?
作者: gawk    时间: 2016-5-27 19:24

回复 10# zhsh1128


下载gawk.exe放到C:\Windows\System32文件夹下面
打开一个CMD窗口
执行3楼的命令




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2