Bash 创建新的目录并将每行的内容写入新目录

  • 本文关键字:新目录 创建 Bash bash
  • 更新时间 :
  • 英文 :


>我有一个名为events的文件。 我想做的是读取这个文件,然后为文件中的每一行创建新目录,称为dir1...dirn其中nevents文件中的行号。 然后我想将每一行写入一个名为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 个目录,dir1dir2dir3dir4,并且每个目录中都有一个文件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 '%sn' "$line" > "dir${num}/inp.dat"
done < events

最新更新