2013-06-25 3 views
0
Chenna Black |1|76.00|Chenna 
Chenna White big|1|102.00|Chenna 
Chenna White small|1|82.00|Chenna 
Dhal-Gram|1|78.00|Dhal 
Dhal-Moong|1|76.00|Dhal 
Dhal-Orid|1|72.00|Dhal 
Dhal-Toor|1|68.00|Dhal 
Dhal-Green gram|1|88.00|Dhal 
Rajma-Black|1|72.00|Rajma 
Rajma-Pink|1|80.00|Rajma 
Rice-Basmanthi|1|80.00|Rice 
Rice-Boiled|1|42.00|Rice 
Rice-Idly|1|33.00|Rice 
Rice-IGBasamanthi|1|99.00|Rice 
Rice-Karanatka Ponni|1|38.00|Rice 
Rice-Nirapara Silky|1|235.00|Rice 
Rice-Raw|1|40.00|Rice 
Rice-RoastedGram|1|100.00|Rice 

내 입력 파일. 입력 파일에서 쌀 항목을 확인하면 가정 해 봅시다. 그것은 쌀 항목과 쌀 항목 가격을 표시합니다. 그리고 만약 내가 "설탕"항목과 같은 파일에서 사용할 수없는 항목을 작성합니다. "항목을 찾을 수 없습니다"라는 메시지가 표시됩니다.입력 파일에서 명령 프롬프트를 통해 특정 항목 이름과 항목 가격을 표시 하시겠습니까?

+0

문제는 무엇입니까? 질문의 본문에서 질문하지 않는 한이 문은 닫히게됩니다. 확인하려는 항목은 무엇입니까? 귀하의 의견 (검색 항목)은 무엇이며 기대되는 결과는 무엇입니까? 여러 개의 다른 이름을 동시에 찾고 있습니까? 너 뭐 해봤 니? 왜'awk' 또는 파생물을 사용해야합니까? 왜'grep' 또는 그 변종 중 하나를 사용해야합니까? 'redhawksdr '태그가 귀하의 질문과 어떤 관련이 있습니까? –

+0

질문 수정 - 댓글을 추가하지 마십시오! 충분한 영어를 사용해야합니다 (귀하의 의견은 명확하지 않습니다). 당신은'maxrate'가 무엇인지를 설명 할 필요가 있습니다. 당신이 묻고있는 것에 대해 생각하십시오 - 당신이 묻는 것은 일관성이 없지만 일관된 대답을 얻지 못할 것입니다. 또한, 당신이 시도한 것을 설명해야합니다 ... 당신은 어떤 아이디어를 시도했습니다, 그렇죠? 검색은 대소 문자를 구분하지 않습니까? 그렇다면 'awk'이 그 일에 적합한 도구라는 것을 확신하지 못합니다. –

+0

'awk','gawk' 및'nawk'라는 태그에 대한 현재 허용 된 대답은 Perl로 작성된 것입니다. –

답변

0

:

perl -F"|" -ane 'BEGIN{$f=0}if(/Rice/){print;$f=1}END{print "not found\n" unless($f)}' your_file 
0
awk -v item=Rice '$0 ~ item { i++; print } 
        END  { if (i == 0) print item " not found" }' data 

필드를 선택하려면 각 필드의 내용을 식별해야합니다. 1은 아마 가격일까요? (OK : 아니요, 가격이 될 가능성은 매우 낮습니다. 그러나 데이터의 열의 의미를 신을 기대해서는 안됩니다 - 의미를 말해 주어야합니다.) 항목이 필드에 있는지 여부는 명확하지 않습니다. 1 또는 필드 4 또는 둘 다.

대소 문자를 구분하지 않습니다. 대소 문자를 구분하지 않으려면 awk 버전 설명서를 참조하십시오. 그것은 가능하거나 불가능할 수 있습니다.

0
awk -v item=Rice -F "|" "$0 ~ item {i++; total = total + $3}; END { 
if (i>0) print \"item name\",item,\"NO OF ITEMS\",i,\"total amount \",total; else print \"item not found\"}" datafile 

출력 답 : 내 프로그램에서

item name Rice NO OF ITEMS 8 total amount 667 

쌀 검색. 그 후 입력 파일과 일치하는 패턴을 검색했습니다. 다음으로 쌀 수를 세는 데 사용했습니다. 총 쌀은 모든 쌀의 총량으로 사용됩니다. 초기 항목은 변수이며 쌀은 변수 항목에 할당 할 값입니다. 마지막으로 항목, 항목 수, 총 항목 수를 표시합니다. 당신은 또한 펄에서 할 수있는