फ़ाइल को मानते हुए:
$ cat file
Text-here>xyz</more text
और आप चाहते हैं कि चरित्र >
और के बीच में </
, आप या तो उपयोग कर सकते हैं:
grep grep -oP '.*\K(?<=>)\w+(?=<\/)' file
sed sed -nE 's:^.*>(\w+)</.*$:\1:p' file
अवेक awk '{print(gensub("^.*>(\\w+)</.*$","\\1","g"))}' file
पर्ल perl -nle 'print $1 if />(\w+)<\//' file
सभी एक स्ट्रिंग "xyz" प्रिंट करेंगे।
यदि आप इस रेखा के अंकों को पकड़ना चाहते हैं:
$ cat file
Text-<here>1234</text>-ends
grep grep -oP '.*\K(?<=>)[0-9]+(?=<\/)' file
sed sed -E 's:^.*>([0-9]+)</.*$:\1:' file
अवेक awk '{print(gensub(".*>([0-9]+)</.*","\\1","g"))}' file
पर्ल perl -nle 'print $1 if />([0-9]+)<\//' file
sed
है कि ऐसा करने के लिए मैंने कितनी बार backreferences के साथ कुश्ती की ?