cat 출력에서 ​​동적으로 위치된 부분 문자열 가져오기

cat 출력에서 ​​동적으로 위치된 부분 문자열 가져오기

스크립트의 내 명령은 다음과 같습니다.

echo "- user:$(cat /var/users.txt)" >>  /opt/tag/user_new.txt

문제는 users.txt사용자 세트에 다음과 같은 형식이 포함되어 있다는 것입니다.[이메일 보호됨]등.

그러나 내가 원하는 것은 @즉 이전 부분 입니다.존 데이비스, 그래서 제가 추가한 문자열 user_new.txt은 이것입니다 - user:john-davis.

기본적으로 firstIndexOf와 하위 문자열 및 에코의 bash 버전입니다. 누구든지 단일 명령으로 이를 달성하는 방법을 도와줄 수 있습니까?

답변1

그 중괄호는 올바르지 않은 것 같습니다. 프로세스를 연장할 의도가 있다고 가정합니다.

에코를 건너뛰고 확장도 처리하겠습니다. 그것은 다음과 같습니다:

awk '-F@' '{ print "- user:" $1 }' /var/users.txt >> /opt/tag/user_new.txt

관련 정보