다음과 유사한 내용이 포함된 .csv 파일이 있습니다.
BIHAR,PURNIA,DAGARUA,BELGACHHI,BELGACHHI,KARBOLA TOLA,0,0,312,0,0,312,Fully Covered,NO,NO,01_04_2010,241656,312,2123,910,1811.5
BIHAR,PURNIA,SRINAGAR,THARI,THARI,ARBANNA,0,0,312,0,0,312,Fully Covered,NO,NO,01_04_2010,244374,312,2123,910,1811.5
BIHAR,PURNIA,RUPAULI,DHOBGIDHA-RUPAULI,DHOBHGIDHA-RUPAULI-II,MATELI,0,0,312,0,0,312,Fully Covered,NO,NO,01_04_2010,243748,312,2123,910,1811.5
ETCETC,PURNIA,KRITYANAND NAGAR,CHUNAPUR,BANBHAG,BANGALI TOLA KOSHI KINARA,0,0,312,0,0,312,Fully Covered,NO,NO,01_04_2010,242663,312,2123,910,1811.5
BIHAR
시작하는 모든 줄을 잡고 다른 별도의 csv 파일로 출력하고 싶습니다 . 어떻게 해야 하나요?
Sublime의 "모두 찾기" 기능을 사용한 다음 오른쪽 화살표를 사용하여 선 끝을 가리켜 강조 표시해 보았지만 불행하게도 일부 선은 다른 선보다 훨씬 길어서 작동하지 않습니다. .txt 파일에는 약 100,000개의 줄이 있습니다.
나는 또한 sed를 사용해 보았습니다.
sed -n 'BIHAR /myfile.txt' /newfile.txt
편집: 어떤 이유로 grep/sed/awk는 각 줄 끝의 줄바꿈을 무시하므로 첫 번째 줄만 일치시키려고 시도하고 다른 것은 아무것도 시도하지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?
답변1
GNU sed를 사용하여 이것을 시도해 보세요:
sed -n '/^BIHAR/p' file > new_file
또는 grep을 사용하십시오.
grep '^BIHAR' file > new_file
아니면 awk를 사용하세요:
awk '/^BIHAR/' file > new_file
답변2
그렙의
grep ^BIHAR file > new_file
앗
awk '/^BIHAR/' file > new_file
현학적인 멍청이
awk -F, '$1 == "BIHAR" { print $0 ;} file > new_file
편집: Windows 세계의 파일로 작업할 때 dos2unix를 사용하여 줄 끝을 변환하십시오.
dos2unix dosfile > unixfile