我有一个名为events
的文件。我想做的就是读取此文件,并为文件中的每一行创建一个名为dir1
... dirn
的新目录,其中n
是events
文件中的行号。然后,我想将每一行写到一个名为inp.dat
的文本文件中。例如,如果events
文件如下所示:
{'lat': 13.96, 'lon': -91.87, 'dep': 14, 'time': UTCDateTime('2019-11-30-07:44:23')}
{'lat': 38.94, 'lon': 143.44, 'dep': 49, 'time': UTCDateTime('2019-11-29-04:01:39')}
{'lat': -60.85, 'lon': -50.96, 'dep': 16, 'time': UTCDateTime('2019-11-28-00:26:31')}
{'lat': 19.22, 'lon': 94.94, 'dep': 75, 'time': UTCDateTime('2019-11-26-11:05:58')}
我想创建4个目录dir1
,dir2
,dir3
,dir4
,并且在每个目录中都有一个文件inp.dat
,其中包含相应行的内容。例如,在dir1
中,我希望inp.dat
只有{'lat': 13.96, 'lon': -91.87, 'dep': 14, 'time': UTCDateTime('2019-11-30-07:44:23')}
。
我将如何编写此脚本?谢谢。
引号超出此具体示例所需的数量:
#!/bin/bash
let num=0
while read line
do
let num++
mkdir -p "dir${num}"
printf '%s\n' "$line" > "dir${num}/inp.dat"
done < events