답변:
이 sed
명령은 트릭을 수행해야합니다. 다음 명령은 파일을 덮어 씁니다.
sed -i 's/^[^:]*:/:/' file
출력 만 인쇄하려면 -i
플래그를 제거하십시오 . 출력을 새 파일에 넣으려면 -i
플래그를 제거 하고 출력을 리디렉션하십시오.
sed 's/^[^:]*:/:/' file > new_file
아주 간단한 Bash 명령 으로이 작업을 수행 할 수 있습니다 .
mytext="(123434): hello::{apple,orange,mango}."
echo ${mytext#*)}
인쇄 : hello::{apple,orange,mango}.
됩니다. 접두사와 접미사를 비슷한 방식으로자를 수 있습니다. 또한 접두사 및 접미사 정의에는 와일드 카드가 포함될 수 있습니다.
접두사 자르기-첫 번째 접두사 와일드 카드 일치 : ${variable#prefix}
접두사 잘라 내기-마지막 접두사 와일드 카드 일치 : ${variable##prefix}
접미사 컷-첫 번째 접미사 와일드 카드 일치 : ${variable%suffix}
접미사 컷-마지막 접미사 와일드 카드 일치까지 : ${variable%%suffix}
처음에는 불분명하게 보일 수 있습니다. 다음 예를 참조하십시오.
mytext="xAxBxAxBx"
echo ${mytext#*A} # will print: xBxAxBx
echo ${mytext##*A} # will print: xBx
echo ${mytext%B*} # will print: xAxBxAx
echo ${mytext%%B*} # will print: xAx
echo ${mytext%%C*} # will print: xAxBxAxBx
마지막 예에서 패턴이 일치하지 않으므로 잘라 내지 않습니다.
echo ${mytext#*:}:
. 이것은 제대로 같은 라인 처리 할 (123)(434): hello::{apple,orange,mango}.
및 123434: hello::{apple,orange,mango}
.
sed
또는awk