다음과 같은 파일이 있습니다.
anm="12S123S" family="" type="Std" product="" name="nand" allow="yes"
anm="12321 S=" family="" type="Std" product="" name="dan" need="No"
anm="SWED" family="" type="Std" product="" name="dmr" test="clasic"
출력은
12S123S
12321 S=
SWED
답변1
OP에 대한 모든 의견 수집:
by cut
(필드 구분 기호를 설정 "
하고 구분 기호가 있는 줄에서만 두 번째 필드를 인쇄합니다):
cut -sd\" -f2
통과grep
조립식 쇠지레(패턴을 찾아 \K
나중에 그 일부만 인쇄합니다):
grep -Po 'anm="\K[^"]*'
통과awk
제이슨 라이언(필드 구분 기호를 설정 "
하고 두 번째 필드를 인쇄합니다):
awk -F\" '{print $2}'
by sed
(모든 줄을 다음으로 바꿉니다.역방향 일치(괄호 안 ()
)은 "
첫 번째 항목을 제외한 모든 항목 과 일치 "
하고 그러한 대체 항목이 있는 줄만 인쇄합니다.
sed -n 's/[^"]*"\([^"]*\).*/\1/p'
답변2
anm="..."
다음과 같이 grep을 사용하여 이 섹션을 추출 할 수 있습니다 .
grep -Eo 'anm="[^"]*"' file
grep 옵션은 -o
행의 일치하는 부분만 출력합니다.
그런 다음 각 줄 의 anm="
시작과 끝을 삭제합니다."
grep -Eo 'anm="[^"]*"' file | sed -e 's/^anm=\"//' -e 's/\"$//'