如何为每行文本创建一个文件,文件名为Field1,Field2?

如何为每行文本创建一个文件,文件名为Field1,Field2?

我想为文本的每一行创建一个文件,并想按照以下模式为文件分配名称。

例如:

文件名:F001,内部数据为“text1”。

文件名:F001,内部数据为“text2”。

答案1

下面应该有帮助,假设source_file.txt是包含数据的文件。
#!/bin/bash

while read -r line   
do   
  file_name=`echo $line | cut -d "(" -f 2 | cut -d ")" -f 1 | cut -d " " -f 1`   
  text=`echo $line | cut -d "(" -f 2 | cut -d ")" -f 1 | cut -d " " -f 2`   
  echo "creating $file_name with $text"   
  echo $text > $file_name   
done <source_file.txt     

输出将如下所示,并且将创建包含数据的文件。
creating F001 with "text1" creating F002 with "text2"

答案2

假设 source_file.txt 包含数据。

#!/bin/bash
counter=0
while read line
do
    counter=$((counter+1))
    echo $line > F${counter}
done < source_file.txt

相关内容