मुझे यकीन नहीं है कि इस प्रश्न का शीर्षक " फ़ाइल से" एक लाइन से "" क्यों संपादित किया गया है, जबकि ओपी कई लाइनों में संभावना को बाहर नहीं करता है, भले ही उदाहरण केवल एक पंक्ति प्रतीत हो। जो भी हो, यह यहां कई लाइनों का समाधान प्रदान करने में मददगार हो सकता है।
यह क्रॉस-लाइन्स के लिए काम करता है:
from1=consectetuer; to2=elit; a="$(cat file)"; a="$(echo "${a#*"$from1"}")"; echo "$from1${a%%"$to2"*}$to2"
उदाहरण:
[xiaobai@xiaobai tmp]$ cat file
1
abc consectetuer lsl
home
def elit dd
2 consectetuer ABC elit
[xiaobai@xiaobai tmp]$ from1=consectetuer; to2=elit; a="$(cat file)"; a="$(echo "${a#*"$from1"}")"; echo "$from1${a%%"$to2"*}$to2"
consectetuer lsl
home
def elit
[xiaobai@xiaobai tmp]$
संदर्भ: शेल पैरामीटर विस्तार
sed
। यहperl
शुद्ध बैश भी हो सकता है ।