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