如何逐行读取文件,并为每行的文件名与每行的最后一个字相同的文件创建一个新文件?

时间:2019-01-30 08:48:12

标签: linux bash

假设文件内容为:

May 30, Thu,    England vs SouthAfrica,     Match 1 ,Afternoon, London
May 31, Fri,    Windies vs Pakistan,    Match 2 ,Afternoon, Nottingham
Jun 01, Sat,    NewZealand vs SriLanka, Match 3 ,Afternoon, Cardiff

我想创建三个文件,每个文件的名称分别为London,Nottingham和Cardiff。每个文件必须有自己的行。例如,诺丁汉的内容应为:

May 31, Fri,    Windies vs Pakistan,    Match 2 ,Afternoon

我不想使用awk。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:-1)

#!/bin/bash

cat datafile| \
while read line
do
    lastword=${line##*,}
    echo $lastword
    echo $line > $lastword
done