3 回答
TA贡献1846条经验 获得超7个赞
这是一个通用批处理文件,用于打印nGNU head实用程序之类的文件中的顶行,而不仅仅是一行。
@echo off
if [%1] == [] goto usage
if [%2] == [] goto usage
call :print_head %1 %2
goto :eof
REM
REM print_head
REM Prints the first non-blank %1 lines in the file %2.
REM
:print_head
setlocal EnableDelayedExpansion
set /a counter=0
for /f ^"usebackq^ eol^=^
^ delims^=^" %%a in (%2) do (
if "!counter!"=="%1" goto :eof
echo %%a
set /a counter+=1
)
goto :eof
:usage
echo Usage: head.bat COUNT FILENAME
例如:
Z:\>head 1 "test file.c"
; this is line 1
Z:\>head 3 "test file.c"
; this is line 1
this is line 2
line 3 right here
当前不计算空白行。它也受批处理文件行长度限制为8 KB。
TA贡献1856条经验 获得超5个赞
呃你们...
C:\>findstr /n . c:\boot.ini | findstr ^1:
1:[boot loader]
C:\>findstr /n . c:\boot.ini | findstr ^3:
3:default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
C:\>
TA贡献1946条经验 获得超4个赞
您可以尝试一下:
@echo off
for /f %%a in (sample.txt) do (
echo %%a
exit /b
)
编辑 或者,假设您有四列数据,并且想要从第5行到底部,请尝试以下操作:
@echo off
for /f "skip=4 tokens=1-4" %%a in (junkl.txt) do (
echo %%a %%b %%c %%d
)
- 3 回答
- 0 关注
- 3980 浏览
添加回答
举报