Linux 管理员 - 读取和写入文件
在 BASH 中,读取和写入文件都可以通过输入和输出重定向器完成。我们在之前的脚本中都遇到过。
#!/bin/bash myFile = "myLines.txt" while read -a FILENAME; do if [ `echo $FILENAME | grep 004` ]; then echo "line was $FILENAME" >> LineFile.txt break fi echo $FILENAME done < $myFile
现在,我们的条件分支不再回显到终端,而是回显到名为 LineFile.txt 的文件。
从文件中读取有两种方式,cat 和 read。read 通常被认为是最佳实践。而 cat 只是传递文件中的文本流。read 意味着脚本读取实际文件并对正在读取的文件负责。
以下脚本再次读取文本文件,将每一行放入数组中,然后将数组打印到终端。
#!/bin/bash myFile = "myLines.txt" line = () while read -r FILELINE; do line+=($FILELINE) done < $myFile for i in `seq 0 ${#line[@]}`; do echo $i " -> " ${line[$i]} done
以下是输出。
0 -> line001 1 -> line002 2 -> line003 3 -> line004 4 -> line005 5 -> line006 6 -> line007 7 -> line008 8 -> line009 9 -> line010
linux_admin_shell_scripting.html