입력하다:
4857544398A7CB9C(HWTC98A7CB9C); AHH-ABN-19-2-59-0720000000-amir3456; 129
원하는 출력:
4857544398A7CB9C(HWTC98A7CB9C),amirzain,129
-
또는 임의의 명령을 사용하여 sed
2열의 마지막 하이픈( ) 앞의 모든 항목을 제거하고 싶습니다 .
답변1
"열 2의 마지막 하이픈(-) 앞에 있는 모든 항목을 제거하고 싶습니다."라는 질문의 내용을 정말로 원한다면 다음 명령을 사용할 수 있습니다.
$ awk '{sub(/.*-/,"",$2)}1' file
4857544398A7CB9C(HWTC98A7CB9C); amirzain; 129
2열의 마지막 하이픈 앞의 모든 항목을 제거 하고 세미콜론을 콜론으로 변경하는 등 출력을 표시하려면 다음 명령을 사용할 수 amirzain
있습니다 .Amirzain
$ perl -lne '@F=split(/; /); $F[1] =~s/^.+-(.)/\U$1/; print join ",",@F' file
4857544398A7CB9C(HWTC98A7CB9C),Amirzain,129
답변2
사용앗:
awk 'BEGIN{FS=";";OFS=","}{n=split($2, seq, "-");$2=seq[n];print}' <file>
산출:
4857544398A7CB9C(HWTC98A7CB9C),amirzain, 129
답변3
A
두 번째 열의 대문자는 우연이고 ,
출력의 대체는 의도적인 것이라고 가정합니다 .;
echo '4857544398A7CB9C(HWTC98A7CB9C); AHH-ABN-19-2-59-0720000000-amirzain; 129'|sed -r 's/^([^;]+); .*-([^;]+); (.*)/\1,\2,\3/'
4857544398A7CB9C(HWTC98A7CB9C),amirzain,129
전체 파일에서 사용하려면 i
sed의 플래그에 a를 추가하세요.
sed -ri 's/^([^;]+); .*-([^;]+); (.*)/\1,\2,\3/' file