অ-ইন্টারেক্টিভভাবে ব্যবহার করে ফাইল সম্পাদনা করতে ex
( vi
এর জন্য ভিজ্যুয়াল মোড ex
), আপনি ব্যবহার করতে পারেন +{command}
বা -c {command}
পরামিতি যা আপনাকে প্রথম ফাইলটি পড়ার পরে vi কমান্ড সম্পাদন করতে দেয়।
ex
একটি প্রমিত কম্যান্ড-লাইন (অনুরূপ এডিটর ed
)।
এছাড়াও রয়েছে vipe
(একটি ভিম কমান্ড পাইপ সম্পাদক) ব্যবহার করা উচিত যা moreutils
প্যাকেজের অংশ এবং এটি আপনাকে একটি ইউনিক্স পাইপলাইনের মাঝখানে আপনার সম্পাদককে চালাতে এবং প্রোগ্রামগুলির মধ্যে যে পাইপযুক্ত ডেটা সম্পাদনা করতে সহায়তা করে।
উদাহরণ
পাইপ ব্যবহার করে সাধারণ স্ট্যান্ডার্ড ইনপুট এবং আউটপুট এই শেল সিনট্যাক্স দ্বারা অর্জন করা যেতে পারে:
$ ex -sc'%p|q!' <(echo Example)
$ echo Example | ex -sc'%p|q!' /dev/stdin
প্রতিস্থাপনের পরে ফাইলটি কীভাবে প্রিন্ট করা যায় তা এখানে সাধারণ উদাহরণ:
$ ex /etc/hosts +%s/127/128/ge -sc'%p|q!'
জায়গায় জায়গায় ফাইল সম্পাদনা করার জন্য আরও উদাহরণ:
$ ex +'%s/127/128/g' -cswq file
$ ex -sc '%s/olddomain\.com/newdomain.com/g|x' file
$ printf '%s\n' 'g/olddomain\.com/s//newdomain.com/g' w q | ex -s file
$ ex -s "$file" <<< $'g/old/s//new/g\nw\nq'
$ ex -sc 'argdo %s/old/new/ge|x' ./**
$ find . -type f -exec ex -sc '%s/old/new/g|x' {} \;
-s {scriptin}
কমান্ডগুলি ফাইল থেকে লোড হওয়ার ফলে আপনি এটিও ব্যবহার করতে পারেন , উদাহরণস্বরূপ:
$ printf "%s\n" '%s/foo/test/ge' 'wq' > cmds.vim
$ vim -s cmds.vim -es file
বা I / O পুনঃনির্দেশ ব্যবহার করে:
$ vim file < cmds.vim
একটি ফাইল সম্পাদনা করতে এবং অন্যটিতে পরিবর্তনগুলি সংরক্ষণ করতে, নিম্নলিখিত উদাহরণগুলি দেখুন:
$ ex +%s/127/128/g -sc'wq! new_file' /etc/hosts
$ cat /etc/hosts /etc/fstab | vim - -es '+:%s/foo/test/g' '+:wq! file3'
আরও ব্যবহারিক উদাহরণ।
আরপিএম স্পেসিফিকেশন থেকে বাস্তব লাইভ উদাহরণ :
vim -E -s Makefile <<-EOF
:%substitute/CFLAGS = -g$/CFLAGS =-fPIC -DPIC -g/
:%substitute/CFLAGS =$/CFLAGS =-fPIC -DPIC/
:%substitute/ADAFLAGS =$/ADAFLAGS =-fPIC -DPIC/
:update
:quit
EOF
এইচটিএমএল ট্যাগগুলি আহরণ করা হচ্ছে :
ex -s +'bufdo!/<div.*id=.the_div_id/norm nvatdggdG"2p' +'bufdo!%p' -cqa! *.html
এক্সএমএল ট্যাগগুলি সরানো হচ্ছে :
ex -s +'%s/<[^>].\{-}>//ge' +%p +q! file.txt
শিরোনাম থেকে স্টাইল ট্যাগ সরানো এবং পার্সড আউটপুট মুদ্রণ:
curl -s http://example.com/ | ex -s +'/<style.*/norm nvatd' +%p -cq! /dev/stdin
একাধিক জটিল নিয়মের সাথে html পার্স করুন :
ex -V1 $PAGE <<-EOF
" Correcting missing protocol, see: https://github.com/wkhtmltopdf/wkhtmltopdf/issues/2359 "
%s,'//,'http://,ge
%s,"//,"http://,ge
" Correcting relative paths, see: https://github.com/wkhtmltopdf/wkhtmltopdf/issues/2359 "
%s,[^,]\zs'/\ze[^>],'http://www.example.com/,ge
%s,[^,]\zs"/\ze[^>],"http://www.example.com/,ge
" Remove the margin on the left of the main block. "
%s/id="doc_container"/id="doc_container" style="min-width:0px;margin-left : 0px;"/g
%s/<div class="outer_page/<div style="margin: 0px;" class="outer_page/g
" Remove useless html elements. "
/<div.*id="global_header"/norm nvatd
wq " Update changes and quit.
EOF
আরও উদাহরণ:
আরো দেখুন:
file
আপনার দ্বিতীয় কমান্ডলাইন থেকে দ্বিতীয়টি বাদ দিতে পারেন ।