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 的文件。

从文件中读取有两种方式,catreadread 通常被认为是最佳实践。而 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