![특정 기호 앞에 있는 모든 내용을 어떻게 삭제할 수 있나요? [복사]](https://linux55.com/image/127327/%ED%8A%B9%EC%A0%95%20%EA%B8%B0%ED%98%B8%20%EC%95%9E%EC%97%90%20%EC%9E%88%EB%8A%94%20%EB%AA%A8%EB%93%A0%20%EB%82%B4%EC%9A%A9%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%82%AD%EC%A0%9C%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
"|" 앞에 있는 모든 숫자 기호를 제거해야 합니다. 이전 질문에서 제안한 내용 중 일부를 시도해 보았습니다(각 줄의 "/" 앞의 모든 항목을 삭제합니다.) 하지만 나에게는 작동하지 않습니다. 예를 들어:
113|gm1.1_g
115|gm1.3_g
350400|fgenesh1_kg.28251_#_1_#_remain_c2214
그럼 내가 원하는 :
gm1.1_g
gm1.3_g
fgenesh1_kg.28251_#_1_#_remain_c2214
감사해요
답변1
"| 앞의 모든 숫자(줄 시작 부분)"에 대한 정규식은 다음과 같습니다.
^[0-9]*|
sed와 함께 사용:
$ echo "113|gm1.1_g" | sed 's/^[0-9]*|//'
gm1.1_g
이상한:
$ echo "113|gm1.1_g" | awk 'sub(/^[0-9]*\|/,"")'
gm1.1_g
껍데기:
$ a="113|gm1.1_g"; r='^[0-9]*\|(.*)$'; [[ $a =~ $r ]]; echo "${BASH_REMATCH[1]}"