다음 예제가 포함된 cve.txt 파일이 있습니다.
delta.x
alpha.tri
blue.zia
문자열을 해당 지점까지 자르고 다음과 같이 배치하고 싶습니다.
delta.x|delta
답변1
$ awk -F. '{ print $0"|"$1}' input
delta.x|delta
alpha.tri|alpha
blue.zia|blue
awk
우리는 필드 구분자가 무엇 인지 알려주고 .
설명된 간단한 설명으로 print
출력을 조합합니다 . $0
는 입력 라인이고, $1
는 첫 번째 필드입니다(즉, 첫 번째 필드 이전의 모든 것 .
).
답변2
sed방법:
sed 's/\([^.]*\)\.[^.]*/&|\1/' file
산출:
delta.x|delta
alpha.tri|alpha
blue.zia|blue
답변3
cut
귀하가 해결책을 요청했기 때문에 :
paste -d\| input <(cut -d\. -f1 input)