将 TXT 文件的第一行导入电子表格

将 TXT 文件的第一行导入电子表格

我有 2000 个 txt 文件,需要读取其中的第一行(它应该包含一个人的名字)。

理想情况下,我会有一个电子表格/csv

FILENAME, FIRST LINE OF FILE

答案1

在 Windows 下,您可以使用批处理文件执行此操作:

@echo off
setlocal enabledelayedexpansion

set OUTPUT=names.csv
del %OUTPUT% > nul 2>&1

for %%f in (*.txt) do (
    set /p NAME=< %%f
    echo %%f,!NAME! >> %OUTPUT%
)

endlocal

如果您想要不带扩展名的文件名,请将 for 循环更改为:

for %%f in (*.txt) do (
    set /p NAME=< %%f
    set INPUT=%%f
    echo !INPUT:~0,-4!, !NAME! >> %OUTPUT%
)

答案2

我想到最好的办法是

$ perl -e 'for(@ARGV){open($f,"<",$_);print"$_,",scalar<$f>}' *.txt
aaa.txt,aaa
bbb.txt,bbb

Perl 可以在 Windows 以及 Unix、Linux 等上运行 - 但您可能需要先安装它。

相关内容