Linux-admin-reading-and-writing-to-files

提供:Dev Guides
移動先:案内検索

Linux Admin-ファイルの読み取りと書き込み

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_の2つの方法で提示されています。 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