処理する必要がある連絡先情報の.txt
リスト,
。私たちは65
不動産で始まるSICコードだけを維持したいと思います。
このコマンドは、65で始まるデータの正しいフィールドのみを確認する必要があります。
数字が常にある必要はなく6531
、開始するだけです65
(例:6521 6555 6587も維持したいと思います)。
2,J,John Foraste Photography,[email protected],68 Middle Hwy,Barrington,RI,2806, , ,733511,Photographic Engineering,atlanticinn.com
3,X,Xerox Corp,[email protected],10 Orms St # 420,Providence,RI,02904-7815,5594547871,4012763242,504403,Copying & Duplicating Machines & Supls,www.xerox.com
4,S,St Sahag & St Mesrob Armenian,[email protected],70 Jefferson St,Providence,RI,02908-4923,4012722832,4012727712,866107,Churches,www.stsahmes.org
13,C,Century 21 Access America,[email protected],1025 Tiogue Ave,Coventry,RI,02816-6100,4018282100, ,6531,Real Estate,
14,B,Baxter's Showroom,[email protected],Null,Warwick,RI,0,4017398222,4017397058,594409,Jewelers,baxtersjewelry.com^^majorfindings.com^^robertbaxter.com^^san
17,R,Re/Max South County,[email protected],56 Wells Street,Westerly,RI,2891,4015962067, ,6531,Real Estate,
19,L,Lyn Reale - Block Island Realty,[email protected],215Chapelstreet,Block Island,RI,2807,4012534311, ,653118,Real Estate,stmichaelsbristolri.org
21,R,Re/Max South County,[email protected],56 Wells Street,Westerly,RI,2891,4015962067, ,6531,Real Estate,
22,V,Vns Home Health Svc,[email protected],14 Woodruff Ave # 7,Narragansett,RI,02882-3467,4017882253,4017820500,808201,Home Health Service,
処理されたリストは次のようになります。
13,C,Century 21 Access America,[email protected],1025 Tiogue Ave,Coventry,RI,02816-6100,4018282100, ,6531,Real Estate,
17,R,Re/Max South County,[email protected],56 Wells Street,Westerly,RI,2891,4015962067, ,6531,Real Estate,
19,L,Lyn Reale - Block Island Realty,[email protected],215Chapelstreet,Block Island,RI,2807,4012534311, ,653118,Real Estate,stmichaelsbristolri.org
21,R,Re/Max South County,[email protected],56 Wells Street,Westerly,RI,2891,4015962067, ,6531,Real Estate,
答え1
そしてawk
awk -F, '{if ( $11 ~ /^65/ ) print $0}' file
説明: カンマをフィールド区切り文字として使用し-F,
、列 11 が^
65() で始まっていることを確認しif ( $11 ~ /^65/ )
、その場合は行全体を印刷します。print $0
答え2
これにより、トリックを実行できます。
#!/usr/bin/env perl
use strict;
use warnings;
while ( <> ) {
print if (split /,/)[10] =~ m/^65/;
}
必要に応じて、次のように入力できます。
perl -ne 'print if (split /,/)[10] =~ m/^65/;' yourfile
答え3
sed '/,65[0-9]*,Real Estate/! d' file.txt