xyz /mnp/opq/p/1926081/sp/192608100/serveFlavor/entryId/0_ffx7sljc/v/2/flavorId/0_,n6h1xlhl,ea3anltg,jfs8boo9,w2v1vsk2,ze8e1q2s,to8w2p18,/forceproxy/true/name/new
이 행에서는 부품이 ,n6h1xlhl,ea3anltg,jfs8boo9,w2v1vsk2,ze8e1q2s,to8w2p18,
가변적이므로 부품의 쉼표 사이의 데이터 양이 다소 많을 수 있으며 xyz /mnp/opq/p/1926081/sp/192608100/serveFlavor/entryId/0_
숫자 값 1926081 또는 192608100이 증가하거나 감소할 수 있다는 점을 제외하면 모든 것이 일정합니다. /forceproxy/true/name/new
또한 상수이고 변하지 않습니다.
,n6h1xlhl,ea3anltg,jfs8boo9,w2v1vsk2,ze8e1q2s,to8w2p18,
is included and rest is deleted including any comma and the initial
내가 원하는 출력은 패턴 xyz의 마지막 값 뿐입니다`
따라서 다음과 같아야 합니다.
/mnp/opq/p/1926081/sp/192608100/serveFlavor/entryId/0_ffx7sljc/v/2/flavorId/0_to8w2p18/forceproxy/true/name/new
답변1
awk 'BEGIN {FS="[, ]"} {print $2$(NF-1)$NF}' input_filename
답변2
munish.txt
제공한 샘플 데이터를 포함하는 경우 다음을 수행하세요.
$ sed -e 's/^[^ ]* //; s/,.*,\([^,]*\),/\1/' munish.txt
/mnp/opq/p/1926081/sp/192608100/serveFlavor/entryId/0_ffx7sljc/v/2/flavorId/0_to8w2p18/forceproxy/true/name/new
이 sed
스크립트는 첫 번째 공백까지 한 줄의 모든 항목과 ,
첫 번째부터 두 번째, 마지막까지의 모든 항목을 삭제합니다 ,
. 마지막 항목도 삭제하세요 ,
.
답변3
이상한 방법을 알아냈습니다. v
변수에 행 전체가 포함되어 있으면 보기에 좋지 않습니다.
echo $(echo ${v%%,*})$(echo ${v} | grep -Po '.*,\K.*(?=,)')$(echo ${v##*,}) | sed 's/xyz\s//p'