@ এসএলএম ইতিমধ্যে আপনাকে ক্যানোনিকাল উত্তর দিয়েছে। এখানে আরও কয়েকটি বিকল্প রয়েছে:
ফিল্ড ডিলিমিটার ব্যবহার করুন awk
এবং '
(সমস্ত লাইনের একই ফর্ম্যাট রয়েছে বলে ধরে নেওয়া):
$ awk -F "'" '($1~/ = /){print $2}'
OVS/sdasd/asdasd/asdasd/something.img, w
পুরো কাজটি পারল করে নিন:
$ perl -lne 'print $1 if /\[.(.*?).\]/' data.txt
OVS/sdasd/asdasd/asdasd/something.img, w
একটি সহজ রেজেেক্স ব্যবহার করুন এবং ফলাফলগুলি বিশ্লেষণ করুন:
$ grep "\[.*\]" data.txt | awk -F "'" '{print $2}'
OVS/sdasd/asdasd/asdasd/something.img, w
$ grep -o "\[.*\]" data.txt | perl -pe "s/[\[\]']//g"
OVS/sdasd/asdasd/asdasd/something.img, w
$ grep "\[.*\]" data.txt | sed 's/.*\[.\(.*\).\]/\1/'
OVS/sdasd/asdasd/asdasd/something.img, w
$ grep "\[.*\]" data.txt | perl -pne 's/.*\[.(.*?).\].*/$1/'
OVS/sdasd/asdasd/asdasd/something.img, w
$ grep "\[.*\]" data.txt | perl -lne 'print $1 if /\[.(.*?).\]/'
OVS/sdasd/asdasd/asdasd/something.img, w