1

我想用 shell 来分割这个文件:

ID: xxx
Name: xxx
HW =
In-class = 
Comments:

ID: yyy
Name: yyyy
HW =
In-class = 
Comments:

ID: zzz
Name: Zzzz
HW =
In-class = 
Comments:

因此,每个段落都保存到一个名为的文件中,该文件位于该段落FILE01的文件夹中ID

例如段落:

ID: zzz
Name: Zzzz
HW =
In-class = 
Comments:

应该保存到文件./zzz/FILE01中。

我怎样才能做到这一点?

4

2 回答 2

3

试试这条线:

 awk -v RS= '{print > "~/"$2"/FILE01"}' file    

这假定那些目录 ( xxx, yyy,zzz) 已经存在。

于 2013-09-30T20:06:13.067 回答
3

这很容易awk

$ ls 
file

$ awk '{system("mkdir -p "$2); print > ($2"/FILE01")}' RS= file

产生:

$ ls
file  xxx/  yyy/  zzz/

$ cat xxx/FILE01 
ID: xxx
Name: xxx
HW =
In-class =
Comments:

$ cat yyy/FILE01 
ID: yyy
Name: yyyy
HW =
In-class =
Comments:

$ cat zzz/FILE01 
ID: zzz
Name: Zzzz
HW =
In-class =
Comments:
于 2013-09-30T20:06:49.610 回答