문자열을 자르고 결과 자체를 입력하십시오.

문자열을 자르고 결과 자체를 입력하십시오.

다음 예제가 포함된 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)

관련 정보