0

我想将一个 txt 文件分成小文件。但是,我不知道如何使用 shell 编写脚本。如果有人可以提供帮助,将不胜感激!

我想像这样拆分的文件:

name    Onsetime    duration    weight
s002_run1_fng   122.6 2 1
s002_run1_fng   144.8 2 1
s002_run1_fyg   132.6 2 1
s002_run1_fyg   182.6 2 1
s002_run1_fyg   198.6 2 1
s002_run1_fyg   230.6 2 1
s002_run1_fyg   308.6 2 1
s002_run1_fyg   368.6 2 1
s002_run1_fyg   382.6 2 1
s002_run1_fyg   410.6 2 1
s002_run1_fnl   294.8 2 1
s002_run1_fnl   394.8 2 1
s002_run1_fyl   66.6 2  1
s002_run1_fyl   78.6 2  1
s002_run1_fyl   158.6 2 1
s002_run1_fyl   207.1 2 1
s002_run1_fyl   257.4 2 1
s002_run1_fyl   269.2 2 1
s002_run1_fyl   319.2 2 1
s002_run1_fyl   327.3 2 1
s002_run1_fnn   52.8 2  1
s002_run1_fnn   280.7 2 1
s002_run1_fnn   350.8 2 1
s002_run1_fyn   96.6 2  1
s002_run1_fyn   110.6 2 1
s002_run1_fyn   169.3 2 1

我想把文件拆分成新的txt文件,第一列是新文件的名称,第二到第四列是新文件的内容。如果第一列相同,则第二到第四列将组成一个新文件。例如,第一个文件的内容是

122.6 2 1
144.8 2 1

新文件名将是“ s002_run1_fng

如何使用 shell 进行编码?

谢谢!非常感谢您的帮助!

4

1 回答 1

2

一个 awk one-liner 可能会做你想做的事,试一试:

awk 'NR>1{print $2,$3,$4 > $1}' file
于 2013-08-04T21:00:39.460 回答