필드가 괄호로 묶고 세미콜론 (;)으로 구분됩니다와 특정 컬럼에 문자를 대체하는 방법 :AWK 내 파일 AWK 테스트에서
"col1";"col2";"col3";"col4";"col5";
"eiusmod";"tempor";"incididunt";"ut";"labore";
"et";"dolore";"magna";"aliqua";"Ut";
"enim";"ad";"minim";"veniam";"quis";
"ut";"aliquip";"ex";"ea";"commodo";
"nostrud";"exercitation";"ullamco";"laboris";"nisi";
실제 데이터 (헤더 행을 더한 세 가지 기록) :
"col1";"col2";"col3";"col4";"col5";
"/absence/lang/#LANG_ID#/.descr.php";"BP2_DESCR";"Dodaj";"Add";"Adicionar";
"/cal/lang/#LANG_ID#/cal_feed.php";"LF_COMM_MSG";"je komentiral ""#EVENT_TITLE#""";"commented on an event ""#EVENT_TITLE#""";"comentado sobre o evento ""#EVENT_TITLE#""";
"/mod/lang/#LANG_ID#/set_events.php";"IM_NOTIFY";"Pozdravljeni #USER_NAME#!
#FROM_USER# vam je poslal(a) sporocilo.
------------------------------------------
#FROM_USER#: #MESSAGE#
------------------------------------------;"Hello #USER_NAME#!
You have a new notification from #FROM_USER#
------------------------------------------
#MESSAGE#
------------------------------------------;"Olá #USER_NAME#!
Você tem uma nova notificação de #FROM_USER#
------------------------------------------
#MESSAGE#
------------------------------------------;
나는 3 열 문자 "M"을 경우 처음 30 열 개 3 라인과 4를 인쇄하는 방법을 알고 :
gawk 'BEGIN {FS = ";" } ; $3 ~/m/ {print $3 ";" $4} NR==30{exit}' OFS=';' awk-test
결과 전 S :
"magna";"aliqua"
"minim";"veniam"
"ullamco";"laboris"
하지만 난에 (ㄴ) "X"와 "M"을 대체 할 (a)는 어떻게 테스트 (30) 라인 샘플 에 "X"와 "M"을 대체 모른다 진짜 250.000 라인 파일. 테스트 AWK에
원하는 출력 : 현실에서
"xagna";"aliqua"
"xinim";"veniam"
"ullaxco";"laboris"
나는 열 3 단의 문자에 오류를 수정해야합니다. 따라서 변경된 행을 쓰고 변경되지 않은 행을 고정 열 3을 포함하는 새 파일로 유지하는 방법을 알고 싶습니다.
미리 감사드립니다.
수있는 필드를 세미콜론이나 개행 문자가 포함되어 있습니까? 대답이 "아니오"라면 왜 따옴표로 묶으십니까? –
이 파일은 내 것이 아니며 처리해야하는 CSV 출력 파일입니다. 각 필드는 따옴표로 묶이고 세미콜론으로 구분됩니다. 세미콜론도 각 줄의 끝에 있습니다. 예, 필드에는 세미콜론과 개행 문자도 있습니다. – andrej
그런 다음 두 가지 상황 중 하나가 없다고 가정 할 때 받아 들인 대답은 당신을 위해 작동하지 않습니다. 도움말을 원한다면 필드에 세미콜론과 개행 문자를 포함하여 진정으로 대표적인 샘플 입력과 출력을 보여주는 질문. –