Memoize

BasicWerk   EC Support   Technique   Facebook  

20140816102244_shell_script_while_read

shell_script_while_read

 

while と read の組み合わせで、ファイル内の whitespace で区切られたカラムを変数にバインドしながら繰り返し処理ができる。

 
# sample file
% cat sample.csv
1,item-A,2980,JPY
2,item-B,900,JPY
3,item-C,3980,JPY
4,item-D,1980,JPY
 
# script: while_read.zsh
% cat while_read.zsh
#! /bin/zsh
 
while read id name price currency
do
    echo "$id	$name is $price	$currency"
done < "$1"
 
# csv のカンマを半角スペースに置き換えた上で読み込ませる
% while_read.zsh <(sed 's/,/ /g' sample.csv)
1	item-A is 2980	JPY
2	item-B is 900	JPY
3	item-C is 3980	JPY
4	item-D is 1980	JPY
 

 


© Shin Nakamura/BasicWerk 2014