અમુક પ્રસંગોએ આપણે ફાઇલમાં ટેક્સ્ટને બદલવા માંગીએ છીએ, ઉદાહરણ તરીકે, માં બદલો Document.txt "મારું કુટુંબ" "આપણા માટે" કહે છે તે બધું. આ હાંસલ કરવા માટે આપણે આપણું પસંદીદા ટેક્સ્ટ એડિટર (કેટ, ગેડિટ, સબલાઈમ ટેક્સ્ટ, વગેરે) નો ઉપયોગ કરી શકીએ છીએ, પરંતુ તે સમાન પરિણામ મેળવવા માટે અન્ય પ્રકારો, વેરિયન્ટ્સ જાણવું હંમેશાં સારું છે 🙂
તે સાથે થાય છે નિયમિત અભિવ્યક્તિઓ આ પ્રાપ્ત કરી શકાય છે, સેડ આદેશ ફક્ત ભવ્ય છે, તેમાં અનંત પ્રકારો અને વિકલ્પો છે પરંતુ ... જેઓ ફક્ત આમાંથી ટેક્સ્ટને બદલવા માંગો છો શક્ય ઓછામાં ઓછી જટિલ રીત, તેમના માટે તે છે કે હું આ ખૂબ સરળ પ્રકાર લાવીશ:
ઉદાહરણને અનુસરીને, અમારી પાસે ફાઇલ છે Document.txt માં સ્થિત થયેલ છે OME ઘર / દસ્તાવેજ. ટેક્સ્ટ નીચેના લખાણ સાથે:
(...) મારી કુટુંબ તે તમારા જેવા અથવા તમારા પાડોશીની જેમ, તે બધા જેવું છે. હકિકતમાં મારી કુટુંબ અમે જવાબદાર લોકો અને સમાજના દ્રષ્ટિએ, રાજકીય અને સામાજિક રીતે યોગ્ય બનવાનો પ્રયત્ન કરીએ છીએ. જો કે, મારા ઘરમાં કાળી ઘેટાં છે, અને તે મારી ભૂમિકા LOL છે! હું હંમેશાં તે જ છું જે તે શું વિચારે છે તે કહેવામાં ડરતો નથી (જો તે સમાજની દ્રષ્ટિએ દેખીતી રીતે યોગ્ય ન હોય તો પણ), જોકે વાસ્તવિકતામાં મારો પરિવાર આથી કંટાળી ગયો છે
ગંદકીઆજનો સમાજ.
નીચેના આદેશ સાથે તમે બદલાશો «મારી કુટુંબ"દ્વારા"અમને":
perl -pi -e "s[mi familia][nosotros]g" $HOME/Documento.txt
તે સરળ છે 🙂
તેથી લખાણ હશે:
(...) અમને તે તમારા જેવા અથવા તમારા પાડોશીની જેમ, તે બધા જેવું છે. હકિકતમાં અમને અમે જવાબદાર લોકો અને સમાજના દ્રષ્ટિએ, રાજકીય અને સામાજિક રીતે યોગ્ય બનવાનો પ્રયત્ન કરીએ છીએ. જો કે, મારા ઘરમાં કાળી ઘેટાં છે, અને તે મારી ભૂમિકા LOL છે! હું હંમેશાં તે જ છું જે તે શું વિચારે છે તે કહેવામાં ડરતો નથી (જો તે સમાજની દ્રષ્ટિએ દેખીતી રીતે યોગ્ય ન હોય તો પણ), જોકે વાસ્તવિકતામાં મારો પરિવાર આથી કંટાળી ગયો છે
ગંદકીઆજનો સમાજ.
વાક્યરચના છે:
perl -pi -e "s[lo-que-quiero-cambiar][lo-nuevo-a-poner]g" archivo-en-el-cual-reemplazar
આદેશ થોડો જટિલ લાગે છે, ચાલો તેને થોડોક તોડીએ અને તેને થોડી વધુ સરળ રીતે સમજાવીએ 😉
- પર્લ : આપણે શું ઉપયોગ કરીશું, પર્લ
- -પી.આઈ. : પી, કેવી રીતે π (આશરે મૂલ્ય 3.14)
- -e : ઇ તેની કલ્પના exec ઇ ચલાવવા માટે » ^ - ^
- પછી અવતરણોમાં » અમે એક સાથે ખોલો s અને અમે એક સાથે બંધ જી: "એસએજી" … પ્રારંભ માટે એસ અને ગેમ ઓવર the ની કલ્પના
- વચ્ચે ફેરવો sg આપણે કૌંસના બે સેટ મૂકવા જોઈએ: [] y [], તે રીતે હોવા: "એસ [] [] જી"
- જેમ જેમ મેં ઉપર કહ્યું તેમ પ્રથમ કૌંસની અંદર, જે લખાણ આપણે દૂર કરવા અને નવા સાથે બદલવા માંગીએ છીએ તે જશે, જ્યારે કૌંસના બીજા સેટમાં નવું ટેક્સ્ટ આગળ વધશે, ઉદાહરણ પ્રમાણે: "એસ [મારા કુટુંબ] [અમે] જી"
સરળ નથી?
આદેશ માટે જે જરૂરી છે તેના કરતા ખુલાસો ખરેખર વધુ વ્યાપક છે, તે સમજવું એકદમ સરળ છે 🙂
પર્લ ઘણું બધું છે, માત્ર ટેક્સ્ટને બદલવાની રીત કરતાં, તે એક આખી ભાષા છે 😉
જો તમે તેના વિશે વધુ જાણવા માંગતા હો, તો પેકેજ ઇન્સ્ટોલ કરો પર્લ-ડોક અને તે શું પરવાનગી આપે છે તેના પર એક નજર નાખો, તે ફક્ત એક અલગ બ્રહ્માંડ છે.
માર્ગ દ્વારા અને બંધ કરવાથી, તમે $ HOM / દસ્તાવેજો / માં તમારી પાસેની બધી .txt ફાઇલો શોધવા માગો છો અને દરેક એકમાં "મારા કુટુંબ" ને "અમારા" સાથે બદલો છો, એમ માનીને, તમે આ પ્રાપ્ત કરવા માટે + શોધ + પર્લ જોડાઈ શકો છો:
find $HOME/Documentos/ -name *.txt -exec perl -p -i -e "s[mi familia][nosotros]g" {} \;
અથવા વાઇલ્ડકાર્ડનો ઉપયોગ કરીને:
perl -p -i -e "s[mi familia][nosotros]g" $HOME/Documentos/*.txt
આ બીજા પ્રકારમાં સમસ્યા એ છે કે તે ફાઇલમાં બદલાશે નહીં કે જે સબફોલ્ડરોમાં છે
તો પણ, હું આશા કરું છું કે તમને તે રસપ્રદ લાગ્યું છે. મારા માટે તે ખરેખર ઉપયોગી રહ્યું છે, હું પહેલાથી જ ટર્મિનલમાંથી સીધા જ ટેક્સ્ટને બદલી શકું છું ... મહાન! 😀
ઠીક છે, મને લાગે છે કે આપણામાંના ઘણા સેડ કમાન્ડને જાણે છે, જે સમાન હેતુ માટે કામ કરે છે, તે તે વધુ સારું કરે છે અને તેનો ઉપયોગ કરવો વધુ સરળ છે ...
તમારી ટિપ્પણી બદલ આભાર,
ફક્ત બે વિગતો, તમે કેમ કહો છો કે સેડ તેને વધુ સારું બનાવે છે? શું આટલા બધા 'વિચિત્ર' પાત્રોનો ઉપયોગ કરવો ખરેખર સરળ છે?
સૌને શુભેચ્છાઓ !!!. મેં આદેશનો ઉપયોગ કર્યો છે પરંતુ, અને પર્લ સાથે અહીં વર્ણવેલ પદ્ધતિ સરળ છે. આભાર KZKG ^ Gaara !!!.
ટિપ્પણી માટે આભાર 🙂
સારું, ઓછામાં ઓછું મને લાગે છે કે આ નિયમિત અભિવ્યક્તિઓ કરતાં સરળ છે ... ઘણાં 'વિચિત્ર' પાત્રો સાથે, સમજવા અને શીખવા માટે ખરેખર કંઇક જટિલ વસ્તુ બિન-સમજશકિતને કરી શકાય છે.
ત્યાં એક «જૂની» કહેવત છે: «મને એક સમસ્યા હતી, મેં નિયમિત અભિવ્યક્તિઓનો ઉપયોગ કરવાનું નક્કી કર્યું ... હવે મને બે સમસ્યાઓ છે» 😉
હાહાહાહાહહહા !!!
નિયમિત અભિવ્યક્તિઓ કોઈ ચોક્કસ બિંદુએ આપણા જીવનને બચાવી શકે છે ... હા, તેનો ઉપયોગ કેવી રીતે કરવો અને પ્રયત્નશીલ રીતે મરી ન જવું તે શીખવામાં લાંબો સમય લાગે છે.
જો હું વર્ષો પહેલા આ આદેશ જાણતો હોત, ભગવાન! મારું જીવન કેટલું સરળ હોત 😀
ચોખ્ખુ! સારી રીતે હેન્ડલ કરેલ તેઓ ખૂબ શક્તિશાળી છે text ટેક્સ્ટની ચાલાકી માટે બીજું કંઈ સારું નથી. પરંતુ કેટલીકવાર, જેમ કે તમે પર્લ સાથે આ કિસ્સામાં કહો છો, જો બદલો પૂરતો છે, તો તમારે તે દૂર જવું પડશે નહીં.
મેં તો પણ પાયથોનનો ઉપયોગ કર્યો હોત :)
પરંતુ તરસમાં હું તેને સરળ પણ જોઉં છું ... શું હું કંઈક ખોટું કરી રહ્યો છું?
સેડ -i "જો / શું-મારે-બદલાવ / નવી-થી-મૂકો /" ફાઇલ-ઇન-જે-બદલો-બદલો
હેં હે ... અને જો હું "http://my.blog.com/content/" ને "http://my.blog.com/uploads/files/" replace ... સાથે બદલવા માંગું છું તો પહેલાથી જ તમારી પાસે મૂકવા માટે - જગ્યાઓ અને અન્ય લોકો સાથે, અને તે જટિલ બને છે કે નહીં?
વિભાજક તરીકે / વાપરવું ફરજિયાત નથી. સાથે જુઓ
sed -i «s + http: //my.blog.com/content/+http: //my.blog.com/uploads/files/+» ફાઇલ
O_O… WTF!
તમે હવે મારા માટે વિકલ્પોનું એક સંપૂર્ણ બ્રહ્માંડ ખોલ્યું છે .. ઓ _ ઓ
મને આ પોસ્ટ્સ ગમે છે જ્યાં આપણે બધા કંઇક શીખીએ 🙂
મને તે પણ ખબર નહોતી.
હું સીધા vi નો ઉપયોગ કરવાનું પસંદ કરું છું ..
જેટલું સરળ:
:% s / us / મારું કુટુંબ / જી
% -> સંપૂર્ણ દસ્તાવેજ
s -> શોધ
g -> બધા બનાવો
શુભેચ્છાઓ
ગ્રાસિઅસ!
મને vi સાથે તે કેવી રીતે કરવું તે ખબર નથી
મનપસંદમાં ઉમેર્યું!
ગ્રાસિઅસ!
જો તમારી પાસે થોડીક આરપીએલ આદેશ છે, તો તેને જુઓ
http://microbuffer.wordpress.com/2011/02/28/rpl-buscar-y-reemplazar-strings-en-linux-unix/
સરસ એન્ટ્રી! જો કોઈને રુચિ હોય તો, લિનક્સ સેડ આદેશ સાથે સમાન: http://www.sysadmit.com/2015/07/linux-reemplazar-texto-en-archivos-con-sed.html
અને શું જો ફાઈલની અંદર હું બદલાવવા માંગું છું તો અવતરણો છે?
ટેક્સ્ટ શું કહે છે તેને બદલો ઉદાહરણ: text 1 text ટેક્સ્ટ દ્વારા: »2 ″
આદેશ કેવી હશે?
હેલો
હું મધ્યમાં @ @ ધરાવતા શબ્દમાળાને બદલવા માંગતો હતો અને ફક્ત સાઇન કરતા પહેલા જ ટેક્સ્ટને બદલી શકતો હતો.
બદલવા માટેનો ટેક્સ્ટ: પેરુ લાઇવ લાઇવ
નવું ટેક્સ્ટ: વિવા મી પટ્રિયા @ કોપાયસાલેગાડો
બતાવ્યું: મારા વતન લાંબા રહો
તમારી સહાય બદલ આભાર
"\" તમારે ડબલ ઉપયોગ @, # સાથેના અક્ષરો પહેલાં સ્લેશનો ઉપયોગ કરવો જ જોઇએ, જેથી તેઓ લખાણ તરીકે અર્થઘટન કરે.
અને હું તેને વિંડોઝમાં કેવી રીતે કરી શકું ????