प्रतिस्थापित करें मैं कमांड लाइन लाइन का उपयोग कर एक बहु-पंक्ति फ़ाइल में टेक्स्ट को प्रतिस्थापित करने का प्रयास कर रहा हूं। मैं उबंटू नट्टी का उपयोग कर रहा हूं।पर्ल कमांड लाइन मल्टी-लाइन
[mysqld]
#
# * Basic Settings
#
#
# * IMPORTANT
# If you make changes to these settings and your system uses apparmor, you may
# also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
#
user = mysql
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
skip-external-locking
नीचे मेरी पर्ल आदेश है:
perl -i -pe "s/(\[mysqld\][^\^]+)/\1\nsometext/g" test.txt
हालांकि, बजाय फ़ाइल में सभी पाठ की जगह की
नीचे मेरी पाठ फ़ाइल (बुलाया test.txt) की सामग्री है
[mysqld]
sometext#
# * Basic Settings
#
#
# * IMPORTANT
# If you make changes to these settings and your system uses apparmor, you may
# also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
#
user = mysql
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
skip-external-locking
#
मैं पर्ल के लिए RegexBuddy में Regex की कोशिश की और यह मेल: नीचे दिए गए है कि मैं क्या अंत है पाठ फ़ाइल में सब कुछ है, लेकिन किसी कारण से यह कमांड लाइन पर perl का उपयोग कर काम नहीं कर रहा है।
मैं कुछ सहायता की सराहना करता हूं।
अग्रिम धन्यवाद।
मुझे यकीन नहीं है कि अपेक्षित परिणाम क्या होना चाहिए। – cornuz
@cornuz मुझे लगता है कि सवाल से स्पष्ट है। मैंने कहा "फ़ाइल में सभी पाठों को बदलने की जगह, [निम्नलिखित] मैं इसके साथ समाप्त होता हूं ..." ताकि यह काफी समझा सके। नियमित अभिव्यक्ति से भी मुझे लगता है कि यह स्पष्ट रूप से स्पष्ट लगता है कि मुझे क्या परिणाम चाहिए। –