ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ನಾವು ಫೈಲ್ನಲ್ಲಿ ಪಠ್ಯವನ್ನು ಬದಲಾಯಿಸಲು ಬಯಸುತ್ತೇವೆ, ಉದಾಹರಣೆಗೆ, ಬದಲಾಯಿಸಿ Document.txt "ನಮ್ಮ ಕುಟುಂಬ" "ನಮಗೆ" ಹೇಳುವ ಎಲ್ಲವೂ. ಇದನ್ನು ಸಾಧಿಸಲು ನಾವು ನಮ್ಮ ಆದ್ಯತೆಯ ಪಠ್ಯ ಸಂಪಾದಕವನ್ನು (ಕೇಟ್, ಗೆಡಿಟ್, ಸಬ್ಲೈಮ್ಟೆಕ್ಸ್ಟ್, ಇತ್ಯಾದಿ) ಬಳಸಬಹುದು ಆದರೆ ರೂಪಾಂತರಗಳನ್ನು ತಿಳಿದುಕೊಳ್ಳುವುದು ಯಾವಾಗಲೂ ಒಳ್ಳೆಯದು, ಅದೇ ಫಲಿತಾಂಶವನ್ನು ಸಾಧಿಸುವ ಇತರ ಮಾರ್ಗಗಳು
ಅದು ಸಂಭವಿಸುತ್ತದೆ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳು ಇದನ್ನು ಸಾಧಿಸಬಹುದು, sed ಆಜ್ಞೆಯು ಸರಳವಾಗಿ ಭವ್ಯವಾಗಿದೆ, ಇದು ಅಂತ್ಯವಿಲ್ಲದ ರೂಪಾಂತರಗಳು ಮತ್ತು ಆಯ್ಕೆಗಳನ್ನು ಹೊಂದಿದೆ ಆದರೆ ... ಕೇವಲ ಪಠ್ಯವನ್ನು ಬದಲಿಸಲು ಬಯಸುವವರಿಗೆ ಕನಿಷ್ಠ ಸಂಕೀರ್ಣ ಮಾರ್ಗ, ಅವರಿಗೆ ನಾನು ಈ ಹೆಚ್ಚು ಸರಳವಾದ ರೂಪಾಂತರವನ್ನು ತರುತ್ತೇನೆ:
ಉದಾಹರಣೆಯನ್ನು ಅನುಸರಿಸಿ, ನಮ್ಮಲ್ಲಿ ಫೈಲ್ ಇದೆ Document.txt ನಲ್ಲಿ ಇದೆ OM HOME / Document.txt ಕೆಳಗಿನ ಪಠ್ಯದೊಂದಿಗೆ:
(...) ನನ್ನ ಕುಟುಂಬ ಅದು ನಿಮ್ಮ ಅಥವಾ ನಿಮ್ಮ ನೆರೆಹೊರೆಯವರಂತೆ. ವಾಸ್ತವವಾಗಿ ನನ್ನ ಕುಟುಂಬ ನಾವು ಜವಾಬ್ದಾರಿಯುತ ವ್ಯಕ್ತಿಗಳಾಗಿರಲು ಪ್ರಯತ್ನಿಸುತ್ತೇವೆ ಮತ್ತು ಸಮಾಜದ ದೃಷ್ಟಿಯಲ್ಲಿ ರಾಜಕೀಯವಾಗಿ ಮತ್ತು ಸಾಮಾಜಿಕವಾಗಿ ಸರಿಯಾಗಿರುತ್ತೇವೆ. ಹೇಗಾದರೂ, ನನ್ನ ಮನೆಯಲ್ಲಿ ಕಪ್ಪು ಕುರಿ ಇದೆ, ಮತ್ತು ಅದು ನನ್ನ ಪಾತ್ರ LOL!. ಅವನು ಯಾವಾಗಲೂ ಏನು ಯೋಚಿಸುತ್ತಾನೆಂದು ಹೇಳಲು ಹೆದರುವುದಿಲ್ಲ (ಸಮಾಜದ ದೃಷ್ಟಿಯಲ್ಲಿ ಅದು ಸರಿಯಾಗಿಲ್ಲದಿದ್ದರೂ ಸಹ), ವಾಸ್ತವದಲ್ಲಿ ನನ್ನ ಕುಟುಂಬವು ಬೇಸರಗೊಂಡಿದ್ದರೂ ಸಹ
ಕೊಳಕುಇಂದಿನ ಸಮಾಜ.
ಕೆಳಗಿನ ಆಜ್ಞೆಯೊಂದಿಗೆ ನೀವು ಬದಲಾಯಿಸುವಿರಿ «ನನ್ನ ಕುಟುಂಬ"by"ನಮಗೆ":
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
ಆಜ್ಞೆಯು ಸ್ವಲ್ಪ ಸಂಕೀರ್ಣವೆಂದು ತೋರುತ್ತದೆ, ಅದನ್ನು ಸ್ವಲ್ಪ ಒಡೆಯೋಣ ಮತ್ತು ಅದನ್ನು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಸರಳವಾಗಿ ವಿವರಿಸೋಣ
- ಪರ್ಲ್ : ನಾವು ಏನು ಬಳಸುತ್ತೇವೆ, ಪರ್ಲ್
- -ಪಿ : Pí, ಹೇಗೆ π (ಅಂದಾಜು ಮೌಲ್ಯ 3.14)
- -e : E ಕಾರ್ಯಗತಗೊಳಿಸಲು for e ಗಾಗಿ ಇದನ್ನು imagine ಹಿಸಿ ^ - ^
- ನಂತರ ಉಲ್ಲೇಖಗಳಲ್ಲಿ » ನಾವು a ನೊಂದಿಗೆ ತೆರೆಯುತ್ತೇವೆ s ಮತ್ತು ನಾವು a ನೊಂದಿಗೆ ಮುಚ್ಚುತ್ತೇವೆ g: "sg" … ಪ್ರಾರಂಭಕ್ಕಾಗಿ ಎಸ್ ಮತ್ತು ಜಿ ಫಾರ್ ಗೇಮ್ ಓವರ್ ಅನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ
- ನಡುವೆ ತಿರುಗಿ sg ನಾವು ಎರಡು ಸೆಟ್ ಬ್ರಾಕೆಟ್ಗಳನ್ನು ಹಾಕಬೇಕು: [] y [], ಆ ರೀತಿ: "ಎಸ್ [] [] ಗ್ರಾಂ"
- ನಾನು ಮೇಲೆ ಹೇಳಿದಂತೆ ಮೊದಲ ಬ್ರಾಕೆಟ್ಗಳ ಒಳಗೆ, ನಾವು ಹೊಸದನ್ನು ತೆಗೆದುಹಾಕಲು ಮತ್ತು ಬದಲಾಯಿಸಲು ಬಯಸುವ ಪಠ್ಯವು ಹೋಗುತ್ತದೆ, ಆದರೆ ಎರಡನೇ ಬ್ರಾಕೆಟ್ಗಳಲ್ಲಿ ಹೊಸ ಪಠ್ಯವನ್ನು ಹಾಕಬೇಕು, ಉದಾಹರಣೆಯನ್ನು ಅನುಸರಿಸಿ: "ಎಸ್ [ನನ್ನ ಕುಟುಂಬ] [ನಾವು] ಜಿ"
ಸರಳ ಅಲ್ಲವೇ?
ವಿವರಣೆಯು ಆಜ್ಞೆಗೆ ಅಗತ್ಯಕ್ಕಿಂತಲೂ ಹೆಚ್ಚು ವಿಸ್ತಾರವಾಗಿದೆ, ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ತುಂಬಾ ಸರಳವಾಗಿದೆ
ಪರ್ಲ್ ಹೆಚ್ಚು, ಪಠ್ಯವನ್ನು ಬದಲಿಸುವ ಮಾರ್ಗಕ್ಕಿಂತ ಹೆಚ್ಚು, ಇದು ಇಡೀ ಭಾಷೆ
ನೀವು ಇದರ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು ಬಯಸಿದರೆ, ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿ ಪರ್ಲ್-ಡಾಕ್ ಮತ್ತು ಅದು ಅನುಮತಿಸುವದನ್ನು ನೋಡೋಣ, ಅದು ವಿಭಿನ್ನ ವಿಶ್ವವಾಗಿದೆ.
ನೀವು ಹೊಂದಿರುವ ಎಲ್ಲ .txt ಫೈಲ್ಗಳನ್ನು $ HOME / Documents / ನಲ್ಲಿ ಹುಡುಕಲು ನೀವು ಬಯಸುತ್ತೀರಿ ಮತ್ತು ಪ್ರತಿಯೊಂದರಲ್ಲೂ "ನನ್ನ ಕುಟುಂಬ" ವನ್ನು "ನಮ್ಮೊಂದಿಗೆ" ಬದಲಾಯಿಸಿ, ಇದನ್ನು ಸಾಧಿಸಲು ನೀವು find + perl ಗೆ ಸೇರಬಹುದು:
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 ಪಠ್ಯವನ್ನು ಕುಶಲತೆಯಿಂದ ನಿರ್ವಹಿಸಲು ಏನೂ ಇಲ್ಲ. ಆದರೆ ಕೆಲವೊಮ್ಮೆ, ಪರ್ಲ್ನೊಂದಿಗಿನ ಈ ಸಂದರ್ಭದಲ್ಲಿ ನೀವು ಹೇಳಿದಂತೆ, ಬದಲಿ ಸಾಕು ನೀವು ಅಷ್ಟು ದೂರ ಹೋಗಬೇಕಾಗಿಲ್ಲ.
ನಾನು ಹೇಗಾದರೂ ಪೈಥಾನ್ ಬಳಸುತ್ತಿದ್ದೆ :)
ಆದರೆ ಬಾಯಾರಿಕೆಯಲ್ಲಿ ನಾನು ಅದನ್ನು ಇನ್ನಷ್ಟು ಸರಳವಾಗಿ ನೋಡುತ್ತೇನೆ ... ನಾನು ಏನಾದರೂ ತಪ್ಪು ಮಾಡುತ್ತಿದ್ದೇನೆ?
sed -i "if / what-I-want-to change / new-to-put /" file-in-which-to-replace
ಹೆಹ್ ಹೆಹ್ ... ಮತ್ತು ನಾನು "http://my.blog.com/content/" ಅನ್ನು "http://my.blog.com/uploads/files/" by ನಿಂದ ಬದಲಾಯಿಸಲು ಬಯಸಿದರೆ ... ಈಗಾಗಲೇ ನೀವು ಅಲ್ಲಿದ್ದೀರಿ ಸ್ಥಳಗಳನ್ನು ಮತ್ತು ಇತರರೊಂದಿಗೆ put ಹಾಕಲು, ಮತ್ತು ಅದು ಸಂಕೀರ್ಣವಾಗುತ್ತದೆಯೋ ಇಲ್ಲವೋ?
ವಿಭಜಕವಾಗಿ / ಬಳಸುವುದು ಕಡ್ಡಾಯವಲ್ಲ. + ನೊಂದಿಗೆ ನೋಡಿ
sed -i «s + http: //my.blog.com/content/+http: //my.blog.com/uploads/files/+» file
O_O… WTF!
ನೀವು ಈಗ ನನಗೆ ಆಯ್ಕೆಗಳ ಇಡೀ ವಿಶ್ವವನ್ನು ತೆರೆದಿದ್ದೀರಿ .. O_O
ನಾವೆಲ್ಲರೂ ಏನನ್ನಾದರೂ ಕಲಿಯುವ ಈ ಪೋಸ್ಟ್ಗಳನ್ನು ನಾನು ಪ್ರೀತಿಸುತ್ತೇನೆ
ನನಗೂ ಅದು ತಿಳಿದಿರಲಿಲ್ಲ.
ನಾನು ನೇರವಾಗಿ ಬಳಸಲು ಬಯಸುತ್ತೇನೆ 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
ಆಜ್ಞೆಯು ಹೇಗೆ?
ಹಲೋ
ಮಧ್ಯದಲ್ಲಿ @ ಹೊಂದಿರುವ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ನಾನು ಬಯಸುತ್ತೇನೆ ಮತ್ತು ಪಠ್ಯವನ್ನು ಮೊದಲು ಮೊದಲು ಬದಲಾಯಿಸಿದೆ.
ಬದಲಾಯಿಸಲು ಪಠ್ಯ: ಪೆರುವಿನಲ್ಲಿ ದೀರ್ಘಕಾಲ ಬದುಕಬೇಕು
ಹೊಸ ಪಠ್ಯ: ವಿವಾ ಮಿ ಪಟ್ರಿಯಾ c ಪೆರ್ಸಿಸಲ್ಗಾಡೊ
ತೋರಿಸಲಾಗಿದೆ: ನನ್ನ ತಾಯ್ನಾಡಿನಲ್ಲಿ ದೀರ್ಘಕಾಲ ಬದುಕಬೇಕು
ನಿಮ್ಮ ಸಹಾಯಕ್ಕೆ ಧನ್ಯವಾದಗಳು
"\" ಡಬಲ್ ಬಳಕೆಯ @, # ಅಕ್ಷರಗಳ ಮೊದಲು ನೀವು ಸ್ಲ್ಯಾಷ್ ಅನ್ನು ಬಳಸಬೇಕು, ಆದ್ದರಿಂದ ಅವುಗಳನ್ನು ಪಠ್ಯ ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗುತ್ತದೆ.
ಮತ್ತು ಕಿಟಕಿಗಳಲ್ಲಿ ನಾನು ಅದನ್ನು ಹೇಗೆ ಮಾಡುವುದು ????