使用每天更改几次的bashshell脚本读取文本文件
我得到了这种文件,我想读取每一行并将其放入一个变量中。如果可能的话,使用shell脚本。每次加载内容(每天数次)时,内容都会发生变化,文件中有13行:使用每天更改几次的bashshell脚本读取文本文件,bash,file,variables,awk,sed,Bash,File,Variables,Awk,Sed,我得到了这种文件,我想读取每一行并将其放入一个变量中。如果可能的话,使用shell脚本。每次加载内容(每天数次)时,内容都会发生变化,文件中有13行: TestTourcompagny Simulation organization (will be fixed later!) Blake, Stef (USA) Trump, Donald (USA) 90 10 5 1 4 4 2 2 0:12 我想用echo$var回显每一行,并将每一行写入一个新文件 感谢您的帮助使
TestTourcompagny
Simulation organization (will be fixed later!)
Blake, Stef (USA)
Trump, Donald (USA)
90
10
5
1
4
4
2
2
0:12
我想用echo$var
回显每一行,并将每一行写入一个新文件
感谢您的帮助使用while Read循环逐行阅读
#!/usr/bin/env bash
n=1
while read -r var; do
printf '%d. %s\n' "$n" "$var" | tee -a "line_${n}_from_file.txt"
((n++))
done < file.txt
- 它通过从
开始递增1
的值,以file.txt中的行号创建一个新文件$n
- tee中的
将输出附加到文件中,如果不是这样做的目的,只需将其删除即可-a
将每一个都写在一个新文件中时
-你是指每一次迭代中的每一行或整个文本块还是其他什么?它是在每次迭代时附加到这些相同的文件,还是覆盖它们,或者创建全新的文件?请根据您发布的示例输入,将您的问题显示为预期输出(在单独的文件中)。请参阅。您好,谢谢您的帮助。我想要的是把每一行放在一个变量中,我可以将其回传到一个文件中:同时读取一个b c d e f g h i j k l m;执行echo$a>TEXTFILE;echo$b>>文本文件等;done@EricFeillant,这个想法是有缺陷的,如果字母表中的字母用完了怎么办?
ls
file.txt line_11_from_file.txt line_13_from_file.txt line_2_from_file.txt
line_4_from_file.txt line_6_from_file.txt line_8_from_file.txt line_10_from_file.txt line_12_from_file.txt line_1_from_file.txt line_3_from_file.txt line_5_from_file.txt line_7_from_file.txt line_9_from_file.txt