sed
पता और पता सीमा
खोज…
परिचय
सेड कमांड को केवल पते या एड्रेस रेंज का उपयोग करके कुछ लाइनों पर कार्य करने के लिए निर्दिष्ट किया जा सकता है ।
विशिष्ट रेखा
$ cat ip.txt
address
range
substitution
pattern
sample
एन थ लाइन
$ sed -n '2p' ip.txt range $ sed '3d' ip.txt address range pattern sample
अंतिम पंक्ति
$ sed -n '$p' ip.txt sample
लाइनों की विशिष्ट रेंज
$ cat ip.txt
address
range
substitution
pattern
sample
निर्दिष्ट सीमा उन पंक्ति संख्याओं में शामिल है
$ sed -n '2,4p' ip.txt range substitution pattern
$
का उपयोग अंतिम पंक्ति को निर्दिष्ट करने के लिए किया जा सकता है। स्पेस का उपयोग स्पष्टता के लिए पते और कमांड के बीच किया जा सकता है$ sed -n '3,$ s/[aeiou]//gp' ip.txt sbstttn pttrn smpl
मैं th लाइन को i + j th लाइन
$ sed '2,+2d' ip.txt address sample
i th लाइन और i + j , i +2 j , i +3 j , आदि।
$ sed -n '1~2p' ip.txt address substitution sample
नियमित अभिव्यक्ति पैटर्न से मेल खाती लाइनें
$ cat ip.txt
address
range
substitution
pattern
sample
Add Sub Mul Div
एक पैटर्न से मेल खाती लाइनें
$ sed '/add/d' ip.txt range substitution pattern sample Add Sub Mul Div $ sed -n '/t/p' ip.txt substitution pattern $ sed -n '/[A-Z]/ s| |/|gp' ip.txt Add/Sub/Mul/Div
पैटर्न की रेंज
$ sed -n '/add/,/sub/p' ip.txt address range substitution $ sed -n '/a/,/e/p' ip.txt address range pattern sample
ध्यान दें
- दूसरे उदाहरण में, यह दो श्रेणियों से मेल खाता है - लाइनें
1,2
और लाइनें4,5
- पैटर्न को निर्दिष्ट करने के लिए
/
बजाय अन्य वर्णों का उपयोग करने के तरीके पर अलग-अलग सीमांकक का उपयोग करके देखें
केस-असंवेदनशील मैच
$ sed -n '/add/Ip' ip.txt address Add Sub Mul Div $ sed -n '/add/I,/sub/p' ip.txt address range substitution Add Sub Mul Div
संख्या और पैटर्न दोनों का उपयोग करके रेंज निर्दिष्ट करना
$ cat ip.txt
address
range
substitution
pattern
sample
Add Sub Mul Div
लाइन नंबर से लाइन मिलान पैटर्न
$ sed -n '2,/pat/p' ip.txt range substitution pattern
लाइन संख्या के लिए लाइन मिलान पैटर्न
$ sed '/pat/,$d' ip.txt address range substitution
लाइन मिलान पैटर्न प्लस लाइनों की संख्या इसके बाद
$ sed -n '/add/I,+1p' ip.txt address range Add Sub Mul Div
0
का उपयोग लाइन के शुरुआती नंबर के रूप में किया जा सकता है, जब रेंज इनपुट के पहले लाइन से मेल खाती है$ sed -n '0,/r/p' ip.txt address $ sed -n '1,/r/p' ip.txt address range $ sed -n '0,/u/p' ip.txt address range substitution
नकारात्मक पता सीमा
$ cat ip.txt
address
range
substitution
1234
search pattern
sample
Add Sub Mul Div
निर्दिष्ट पते के अलावा अन्य लाइनें हटाना
$ sed '/[0-9]/!d' ip.txt 1234 $ sed -n '/[0-9]/p' ip.txt 1234 $ sed '$!d' ip.txt Add Sub Mul Div $ sed -n '$p' ip.txt Add Sub Mul Div
एक पैटर्न से मेल नहीं खाती लाइनों पर खोजें और बदलें
$ sed '/ /! s/^/#/' ip.txt #address #range #substitution #1234 search pattern #sample Add Sub Mul Div $ sed '/add/,/sub/! s/[aeiou]//gi' ip.txt address range substitution 1234 srch pttrn smpl dd Sb Ml Dv