Unix에서 각 줄 끝의 문자를 제거하는 방법
,
내 파일의 각 줄 끝에서 쉼표를 제거 하고 싶습니다. .NET에서 하위 문자열 함수를 사용하는 것 외에 어떻게 할 수 있습니까 awk
? 저를 제안하십시오.
샘플 입력
SUPPLIER_PROC_ID BIGINT NOT NULL,
BTCH_NBR INTEGER NOT NULL,
RX_BTCH_SUPPLIER_SEQ_NBR INTEGER NOT NULL,
CORRN_ID INTEGER NOT NULL,
RX_CNT BYTEINT NOT NULL,
DATA_TYP_CD BYTEINT NOT NULL,
DATA_PD_CD BYTEINT NOT NULL,
CYC_DT DATE NOT NULL,
BASE_DT DATE NOT NULL,
DATA_LOAD_DT DATE NOT NULL,
DATA_DT DATE NOT NULL,
SUPPLIER_DATA_SRC_CD BYTEINT NOT NULL,
RX_CHNL_CD BYTEINT NOT NULL,
MP_IMS_ID INTEGER NOT NULL,
MP_LOC_ID NUMERIC(3,0),
MP_IMS_ID_ACTN_CD BYTEINT NOT NULL,
NPI_ID BIGINT,
sed를 사용할 수 있습니다.
sed 's/,$//' file > file.nocomma
마지막 문자를 제거하려면 :
sed 's/.$//' file > file.nolast
이것을 시도하십시오 :
awk '{print substr($0, 1, length($0)-1)}' file.txt
이것은 마지막 쉼표를 제거하고 마지막 문자를 제거하는 것보다 더 일반적입니다.
awk로 마지막 쉼표 만 제거하려면 다음을 수행하십시오.
awk '{gsub(/,$/,""); print}' file.txt
awk
코드를 기반으로 RS
.
awk '1' RS=',\n' file
또는:
awk 'BEGIN{RS=",\n"}1' file
이 마지막 예제는 개행 문자 앞에 있는 모든 문자에 유효합니다 .
awk '1' RS='.\n' file
참고 : 점 .
은 줄 바꿈을 제외한 모든 문자와 일치합니다 .
설명
awk
우리가 다른 레코드 (라인) 사용할 수 있습니다 regex
분리기, 우리는 단지 앞에 쉼표 포함 할 필요가 줄 바꿈 (나 dot
에 대한 어떤 에 사용되는 하나의 문자) input
의를 RS
.
참고 : 그게 무슨 1
뜻입니까?
짧은 대답 , print
문장 사용을 피하는 지름길 일뿐 입니다. 에서 awk
조건이 일치됩니다 때 기본 동작은 입력 라인, 예를 인쇄하는 것입니다 :
$ echo "test" |awk '1'
test
때문이다 1
항상있을 것입니다 사실 이 표현은 동일합니다, 그래서 :
$ echo "test"|awk '1==1'
test
$ echo "test"|awk '{if (1==1){print}}'
test
선적 서류 비치
표준 awk 및 출력 구분자로 레코드 분할을 확인합니다 .
동일한 작업을 수행하는 대체 명령
tr -d ",$" < infile
awk 'gsub(",$","")' infile
This Perl code removes commas at the end of the line:
perl -pe 's/,$//' file > file.nocomma
This variation still works if there is whitespace after the comma:
perl -lpe 's/,\s*$//' file > file.nocomma
This variation edits the file in-place:
perl -i -lpe 's/,\s*$//' file
This variation edits the file in-place, and makes a backup file.bak
:
perl -i.bak -lpe 's/,\s*$//' file
ReferenceURL : https://stackoverflow.com/questions/14840953/how-to-remove-a-character-at-the-end-of-each-line-in-unix
'Nice programing' 카테고리의 다른 글
번 들러를 사용하여 gem을 다시 설치하는 방법 (0) | 2020.12.28 |
---|---|
해시를 저장하려면 어떤 종류의 데이터 유형을 사용해야합니까? (0) | 2020.12.28 |
Elixir의 ExUnit에서 하나의 테스트 만 실행할 수 있습니까? (0) | 2020.12.28 |
C #에서 확장 메서드를 사용할 때 오류 (0) | 2020.12.28 |
iFrame 내에서 메인 페이지를 다시로드하는 방법 (0) | 2020.12.28 |