テキストファイルを配列に読み込む(bash)
array=(word)と書くとカッコの中が単語に分割され
それぞれの単語が配列arrayの要素として格納される
IFSを改行のみのしておくと、1行が1要素の配列になる
#!/bin/sh #linenum.sh if [ $# -ne 1 ]; then echo "Usage: linenum_bash.sh filename" exit 1 fi IFS=$'\n' #ファイルを配列に読み込む file=(`cat "$1"`) ln=0 for line in "${file[@]}"; do ln=`expr $ln + 1` printf '%3d %s\n' "$ln" "$line" done
$ ./linenum_bash.sh arith.sh 1 #!/bin/sh 2 #arith.sh 3 x=5 4 y=9 5 z=13 6 a=`expr $x \* $y` 7 b=`expr \( $y + $z \) / $x` 8 echo "$a" 9 echo "$b"