GNU Awk 3.0.6 + multi-byte extension 1.15
前準備 として ファイルを作成 、内容は以前作成したもの
Pmt> cat test Stephan David,UGHI Corp. , 325 5th Ave.,Brliinton,MA 0587964,558-8701 Richard Givson,Etr Inc.,985 Mountain St.,Basement,MA 0879579,416-9761 John Zaggett, Durban Company, Inc.,341 King Road Plymouth ,MA 96662,023-4795 Alice Dord,Nasge Cat, Inc. ,22 East Broadway Richmond, VA 09505,087-6479 Orville Hpomas,Nojia Corp ,11345 Oak Bridge Road, Tulsa, OK 34090,036-1257 Teddy Calcas,MAcyst Inc. ,402 Lans Road, Beaver Falls, PA 58702,078-9416 Eric Aduzeds,HGE Inc. ,20 Post Road, Sudbury, MA 79825,035-7169 Hubert Slkmu,Alhcoa Inc. ,328A Brook Road, Roanoke, VA 58796,081-4697 Amy Welfd,Jazz Sifood Inc.,334 Bayshore Pkwy, Mountain View, CA 21789,071-2845 Sal Karpenter,Rasar Inc. ,73 6th Street, Boston ,MA 87632,073-1876
次に awk を 操作するために その 内容を 記載した スクリ プト ”awkscr”を 作成する今回 確認の為 2個 作成した
Pmt> cat 04_awkscr # phonelist.awk -- print name and phone number.. # input file -- name,company,street,city,state and zip,phone BEGIN { FS = ", *" } # comma-delimited fields {print $1 "," $6 } END { print "" print NR, "records processed." }
Pmt> cat 05_awkscr # phonelist.awk -- print name and phone number.. # input file -- name,company,street,city,state and zip,phone BEGIN { FS = "," } # comma-delimited fields {print $1 "," $6 } END { print "" print NR, "records processed." }
Pmt> diff -s 04_awkscr 05_awkscr 3c3 < BEGIN { FS = ", *" } # comma-delimited fields --- > BEGIN { FS = "," } # comma-delimited fields
FS フィールドセパレーター は
{ FS = ", *" }
で 良いと 考えられるが 目が悪いのか
{ FS = ", *" }
の様に 見える したがって 両方にて 試してみる
Pmt> awk -f 04_awkscr test Stephan David,558-8701 Richard Givson,416-9761 John Zaggett,023-4795 Alice Dord,087-6479 Orville Hpomas,036-1257 Teddy Calcas,078-9416 Eric Aduzeds,035-7169 Hubert Slkmu,081-4697 Amy Welfd,071-2845 Sal Karpenter,073-1876 10 records processed.
Pmt> awk -f 05_awkscr test Stephan David,558-8701 Richard Givson,416-9761 John Zaggett,023-4795 Alice Dord,087-6479 Orville Hpomas,036-1257 Teddy Calcas,078-9416 Eric Aduzeds,035-7169 Hubert Slkmu,081-4697 Amy Welfd,071-2845 Sal Karpenter,073-1876 10 records processed.
同じ様にみえる
Pmt> awk -f 04_awkscr test >p04 Pmt> awk -f 05_awkscr test >p05 Pmt> diff -s p04 p05 Files p04 and p05 are identical Pmt> rm p0*
こういう感じです、この使いかた
Pmt> awk -f awkscr test awk -f awkscr test
awkscr を 使用するための -f は 小文字の ”f ”である 事に 留意しておく事 大文字では おへん。大文字 フィールドセパレーターとして 使用します 意味が異なります。
にゃんたろう 拝!
GNU Awk 3.0.6 + multi-byte extension 1.15
2007年 1月 9日 (火) 23:47:26 JST 作成