" 문자를 제거하려면 파일 형식을 지정하세요.

" 문자를 제거하려면 파일 형식을 지정하세요.

다음 데이터가 포함된 파일이 있습니다.

"MG1507XXXXXX|" "|020000XXXXXX" "20261031|"     "|3,827.92"     "|3,581.41"     "|542,729.62"   "MBA"
"MG1507XXXXXX|" "|020000XXXXXX" "20261130|"     "|3,680.15"     "|3,729.18"     "|539,000.44"   "MBA"
"MG1507XXXXXX|" "|020000XXXXXX" "20261231|"     "|3,776.70"     "|3,632.63"     "|535,367.81"   "MBA"
"MG1507XXXXXX|" "|020000XXXXXX" "20270131|"     "|3,751.24"     "|3,658.09"     "|531,709.72"   "MBA"
"MG1507XXXXXX|" "|020000XXXXXX" "20270228|"     "|3,365.07"     "|4,044.26"     "|527,665.46"   "MBA"
"MG1507XXXXXX|" "|020000XXXXXX" "20270331|"     "|3,697.28"     "|3,712.05"     "|523,953.41"   "MBA"
"MG1507XXXXXX|" "|020000XXXXXX" "20270430|"     "|3,552.84"     "|3,856.49"     "|520,096.92"   "MBA"
"MG1507XXXXXX|" "|020000XXXXXX" "20270531|"     "|3,644.24"     "|3,765.09"     "|516,331.83"   "MBA"
"MG1507XXXXXX|" "|020000XXXXXX" "20270630|"     "|3,501.16"     "|3,908.17"     "|512,423.66"   "MBA"
"MG1507XXXXXX|" "|020000XXXXXX" "20270731|"     "|3,590.47"     "|3,818.86"     "|508,604.80"   "MBA"
"MG1507XXXXXX|" "|020000XXXXXX" "20270831|"     "|3,563.72"     "|3,845.61"     "|504,759.19"   "MBA"
"MG1507XXXXXX|" "|020000XXXXXX" "20270930|"     "|3,422.68"     "|3,986.65"     "|500,772.54"   "MBA"
"MG1507XXXXXX|" "|020000XXXXXX" "20271031|"     "|3,508.84"     "|3,900.49"     "|496,872.05"   "MBA"

어떻게 바꾸고 싶고 어떻게 보이게 만들고 싶나요?

MG1507XXXXXX|020000XXXXXX|20261031|3,827.92|3,581.41|542,729.62|MBA|
MG1507XXXXXX|020000XXXXXX|20261130|3,680.15|3,729.18|539,000.44|MBA|
MG1507XXXXXX|020000XXXXXX|20261231|3,776.70|3,632.63|535,367.81|MBA|
MG1507XXXXXX|020000XXXXXX|20270131|3,751.24|3,658.09|531,709.72|MBA|
MG1507XXXXXX|020000XXXXXX|20270228|3,365.07|4,044.26|527,665.46|MBA|
MG1507XXXXXX|020000XXXXXX|20270331|3,697.28|3,712.05|523,953.41|MBA|
MG1507XXXXXX|020000XXXXXX|20270430|3,552.84|3,856.49|520,096.92|MBA|
MG1507XXXXXX|020000XXXXXX|20270531|3,644.24|3,765.09|516,331.83|MBA|
MG1507XXXXXX|020000XXXXXX|20270630|3,501.16|3,908.17|512,423.66|MBA|
MG1507XXXXXX|020000XXXXXX|20270731|3,590.47|3,818.86|508,604.80|MBA|
MG1507XXXXXX|020000XXXXXX|20270831|3,563.72|3,845.61|504,759.19|MBA|
MG1507XXXXXX|020000XXXXXX|20270930|3,422.68|3,986.65|500,772.54|MBA|
MG1507XXXXXX|020000XXXXXX|20271031|3,508.84|3,900.49|496,872.05|MBA|

이것을 달성하기 위해 무엇을 사용해야할지 모르겠습니다. 어떤 아이디어가 있나요?

답변1

두 번째 문자부터 줄 끝까지의 모든 공백과 큰따옴표를 tr해석 |하고 s짜낼 수 있습니다 .cut

tr -s '[[:blank:]"]' \| <infile | cut -c2-

답변2

데이터가 "data"라는 파일에 있다고 가정합니다.

sed -e s'/^"//' -e 's/|" "|/|/g' -e 's/" "|/|/g' -e 's/" "/|/g' -e s'/"$/|/' data

답변3

sed -i 's/\"//g' filename

"를 배치하여 이 문자를 벗어날 수 있습니다 \. 모든 공백도 제거하려면 다음을 수행하십시오.

sed -i 's/[" ]//g' filename

답변4

사용awk

awk ' BEGIN { FS="[|\" ]+" ; OFS="|" } { print $2,$3,$4,$5,$6,$7,$8"|" } ' file

설명하다:

BEGIN { FS="[|\" ]+" ; OFS="|" }다음을 설정하여 시작하십시오.

FS="[|\" ]+"+: 필드는 집합( ) 파이프, 큰따옴표(이스케이프 필요) 및 공백 (0 이상) 의 조합으로 구분됩니다 .[]|\"

OFS="|"출력 필드를 파이프로 구분합니다.

print $2,$3,$4,$5,$6,$7,$8"|"끝에 파이프를 사용하여 열 1부터 8까지 인쇄합니다(줄이 큰따옴표로 시작하므로 1비트 이동하여 첫 번째 필드가 빈 문자열이 되고, 따라서 다른 모든 필드 Location이 이동됩니다).

관련 정보