小编Ger*_*alt的帖子

如何根据列(包括标题)拆分文件并重命名生成的文件?

我有一个.txt可以这样举例:

NAME | CODE
name1 | 001
name2 | 001
name3 | 002
name4 | 003
name5 | 003
name6 | 003
Run Code Online (Sandbox Code Playgroud)

我需要编写一个脚本来根据CODE列拆分这个文件,所以在这种情况下我会得到这个:

file 1:
NAME | CODE
name1 | 001
name2 | 001

file 2:
NAME | CODE
name3 | 002

file 3:
NAME | CODE
name4 | 003
name5 | 003
name6 | 003
Run Code Online (Sandbox Code Playgroud)

根据一些研究,使用 awk 会起作用:

$ awk -F, '{print > $2".txt"}' inputfile
Run Code Online (Sandbox Code Playgroud)

问题是,我还需要将标题包含在第一行中,并且我需要不同的文件名。相反的001.txt,例如,我需要类似的文件名FILE_$FILENAME_IDK.txt

awk text-processing

7
推荐指数
1
解决办法
1614
查看次数

按行数拆分文件,每行包括标题

我需要将一个.txt文件拆分成更小的文件,每个文件包含 100 行,包括标题。我不知道这是否相关,但原始文件是这样分隔的:

COLUMN1 | COLUMN2 | COLUMN3
1 | 2 | 3
4 | 5 | 6
7 | 8 | 9
Run Code Online (Sandbox Code Playgroud)

我需要从这个拆分生成的每个文件都有标题行。此外,他们需要被生成/移动到另一个目录,并按照一个名称模式,如file_01.txtfile_02.txt

awk split files

6
推荐指数
2
解决办法
5477
查看次数

拆分文件并知道生成了多少文件

我使用以下几行将文件拆分为更小的部分:

split --line-bytes=100M -d $input $output/FILENAME
echo "$input was split into ??? 100MB files." >> demo.log
Run Code Online (Sandbox Code Playgroud)

之后,我需要在日志文件中写入从该拆分中生成了多少个较小的文件。有没有办法做到这一点?

shell split files

5
推荐指数
1
解决办法
1322
查看次数

标签 统计

awk ×2

files ×2

split ×2

shell ×1

text-processing ×1