នៅក្នុងខ្លួនខ្ញុំផ្ទាល់ អត្ថបទមុន ខ្ញុំបានប្រាប់អ្នកនៅកម្រិតមូលដ្ឋានអំពីរបៀបដែលតួអក្សរពិសេសដែលប្រើច្រើនបំផុតនៃកន្សោមធម្មតាដំណើរការ។ ជាមួយនឹងកន្សោមធម្មតាទាំងនេះវាអាចធ្វើទៅបានក្នុងការស្វែងរកស្មុគស្មាញនៅក្នុងឯកសារអត្ថបទឬលទ្ធផលនៃពាក្យបញ្ជាផ្សេងទៀត។ នៅក្នុងអត្ថបទនេះខ្ញុំនឹងពន្យល់ពីរបៀបប្រើពាក្យបញ្ជា sed ដើម្បីស្វែងរកនិងជំនួសអត្ថបទតាមរបៀបដែលមានប្រសិទ្ធភាពជាងការផ្លាស់ប្តូរអត្ថបទមួយទៅអត្ថបទមួយទៀត។
លិបិក្រម
បន្តិចបន្ថែមទៀតអំពីពាក្យបញ្ជា grep
មុនពេលខ្ញុំចាប់ផ្តើមនិយាយអំពី sed ខ្ញុំចង់ផ្តល់យោបល់បន្ថែមទៀតអំពីពាក្យបញ្ជា grep ដើម្បីបំពេញនូវអ្វីដែលបានពន្យល់នៅក្នុងអត្ថបទមុនបន្តិច។ អ្វីៗដែលខ្ញុំនឹងនិយាយក៏ពាក់ព័ន្ធនឹងរឿងនេះដែរ។ ក្រោយមកទៀតយើងនឹងឃើញទំនាក់ទំនងរវាងរឿងនេះនិងការស្វែងរក។
ផ្សំកន្សោមធម្មតា
ភាគច្រើននៃតួអក្សរពិសេសដែលខ្ញុំបាននិយាយនៅក្នុងអត្ថបទមុនអាចត្រូវបានបញ្ចូលគ្នាមិនត្រឹមតែជាមួយតួអក្សរផ្សេងទៀតប៉ុណ្ណោះទេប៉ុន្តែថែមទាំងការបង្ហាញធម្មតាទៀតផង។ វិធីធ្វើនេះគឺប្រើវង់ក្រចកដើម្បីបង្កើតទម្រង់រង។ តោះមើលឧទាហរណ៍អំពីរឿងនេះ។ តោះចាប់ផ្តើមដោយទាញយកអត្ថបទដែលយើងអាចប្រើសម្រាប់ការសាកល្បង។ វាជាបញ្ជីឃ្លា។ សម្រាប់ការដែលយើងនឹងប្រើពាក្យបញ្ជាដូចខាងក្រោមៈ
curl http://artigoo.com/lista-de-frases-comparativas-comicas 2>/dev/null | sed -n 's/.*\(.*\.\)<\/p>/\1/gp' > frases
នេះនឹងទុកឱ្យអ្នកនៅក្នុងថតដែលអ្នកបើកដំណើរការឯកសារដែលមានឈ្មោះថា«ឃ្លា»។ អ្នកអាចបើកវាឡើងដើម្បីមើលនិងសើចបន្តិច។ 🙂
ឥលូវនេះឧបមាថាយើងចង់ស្វែងរកឃ្លាដែលមាន ៦ យ៉ាង។ ការលំបាកគឺការបង្កើតកន្សោមធម្មតាដែលត្រូវនឹងពាក្យនីមួយៗ។ ពាក្យគឺជាលំដាប់អក្សរទាំងអក្សរធំឬអក្សរតូចដែលជាអ្វីមួយ '[a-zA-Z]+'
ប៉ុន្តែអ្នកក៏ត្រូវបញ្ជាក់ថាអក្សរទាំងនេះត្រូវតែបំបែកដោយតួអក្សរផ្សេងក្រៅពីអក្សរអញ្ចឹងវានឹងមានអ្វីកើតឡើង '[a-zA-Z]+[^a-zA-Z]+'
។ ចងចាំៈសញ្ញា“ ^” ដែលជាតួអក្សរដំបូងនៅខាងក្នុងតង្កៀបបង្ហាញថាយើងចង់ផ្គូរផ្គងជាមួយតួអក្សរដែលមិនមាននៅក្នុងជួរហើយសញ្ញា“ +” ចង្អុលបង្ហាញ ១ ឬច្រើនតួអក្សរ។
យើងមានកន្សោមធម្មតារួចហើយដែលអាចផ្គូរផ្គងពាក្យមួយ។ ដើម្បីភ្ជាប់វាជាមួយលេខ ៦ វានឹងត្រូវធ្វើម្តងទៀត ៦ ដង។ សម្រាប់រឿងនេះយើងបានប្រើកូនសោប៉ុន្តែវាគ្មានប្រយោជន៍ទេក្នុងការដាក់ '[a-zA-Z]+[^a-zA-Z]+{6}'
ពីព្រោះលេខ ៦ នឹងធ្វើផ្នែកចុងក្រោយនៃកន្សោមធម្មតាហើយអ្វីដែលយើងចង់បានគឺធ្វើម្តងទៀតដូច្នេះអ្វីដែលយើងត្រូវដាក់គឺនេះ៖ '([a-zA-Z]+[^a-zA-Z]+){6}'
។ ជាមួយនឹងវង់ក្រចកយើងបង្កើតជាសំណុំរងនិងដោយដង្កៀបយើងធ្វើវាម្តងទៀត ៦ ដង។ ឥឡូវអ្នកគ្រាន់តែត្រូវបន្ថែមអក្សរ "^" នៅខាងមុខនិង "$" នៅខាងក្រោយដើម្បីផ្គូផ្គងបន្ទាត់ទាំងមូល។ ពាក្យបញ្ជាមានដូចខាងក្រោមៈ
grep -E '^([a-zA-Z]+[^a-zA-Z]+){6}$' frases
ហើយលទ្ធផលគឺគ្រាន់តែជាអ្វីដែលយើងចង់បាន៖
វាត្រូវបានច្រៀងច្រើនជាងម៉ារៀណា។ អ្នកបានបញ្ចប់ច្រើនជាង Luis Aguilé។ អ្នកមានវប្បធម៌តិចជាងដុំថ្ម។ អ្នកចេះភាសាច្រើនជាងCañita Brava ។ គាត់មានស្នាមជ្រីវជ្រួញច្រើនជាងធីតាន់ខាំខន។ អ្នកដឹងតិចជាងរ៉ាំបូអំពីការថែទាំកុមារ។
សូមកត់សម្គាល់ថាយើងដាក់ប៉ារ៉ាម៉ែត្រ -E ពីព្រោះយើងចង់ប្រើកន្សោមធម្មតាដែលបានពង្រីកដើម្បីធ្វើឱ្យការងារ "+" ។ ប្រសិនបើយើងប្រើមូលដ្ឋានគ្រឹះយើងនឹងត្រូវគេចចេញពីវង់ក្រចកនិងដង្កៀប។
ឯកសារយោងត្រឡប់មកវិញឬឯកសារយោង
ប្រសិនបើអ្នកបានតំឡើងកម្មវិធីត្រួតពិនិត្យអក្ខរាវិរុទ្ធអ្នកប្រហែលជានឹងមានបញ្ជីពាក្យ /usr/share/dict/words
។ បើមិនដូច្នោះទេអ្នកអាចតំឡើងវានៅក្នុងបណ្ណសារជាមួយ៖
sudo pacman -S words
ឬនៅក្នុងដេបៀនជាមួយ៖
sudo aptitude install dictionaries-common
ប្រសិនបើអ្នកចង់បានអ្នកអាចមើលឯកសារដើម្បីមើលថាតើវាមានពាក្យអ្វីខ្លះ។ តាមពិតវាជាបណ្តាញភ្ជាប់ទៅនឹងឯកសារពាក្យនៃភាសារបស់អ្នក។ អ្នកអាចដំឡើងឯកសារពាក្យជាច្រើនក្នុងពេលតែមួយ។
យើងនឹងប្រើឯកសារនោះ។ វាប្រែថាយើងមានការចង់ដឹងចង់ឃើញខ្លាំងណាស់ដើម្បីដឹងថាប៉មសំបុត្រអាកាសទាំងប្រាំពីរនៅទីនោះ។ សម្រាប់អ្នកដែលមិនដឹងៈក្រានីញ៉ាមគឺជាពាក្យតូចមួយមានន័យថាវាអាចត្រូវបានអានពីឆ្វេងទៅស្តាំក៏ដូចជាពីស្តាំទៅឆ្វេង។ តោះសាកល្បងពាក្យបញ្ជាខាងក្រោម៖
grep '^\(.\)\(.\)\(.\).\3\2\1$' /usr/share/dict/words
មើលទៅប្លែកបន្តិចមែនទេ? ប្រសិនបើយើងសាកល្បងវាលទ្ធផលនឹងអាស្រ័យលើភាសារបស់ឃ្លារបស់អ្នកនិងពាក្យនៅក្នុងបញ្ជីរបស់អ្នកប៉ុន្តែក្នុងករណីរបស់ខ្ញុំជាមួយភាសាអេស្ប៉ាញលទ្ធផលគឺនេះ៖
រមៀល aniline aniline
តោះមើលរបៀបដែលកន្សោមធម្មតានេះដំណើរការ។
ក្រៅពីសញ្ញា "^" និង "$" ដែលយើងដឹងរួចហើយថាវាជាអ្វីហើយរឿងដំបូងដែលយើងឃើញនៅខាងឆ្វេងគឺចំនុចបីក្រុមដែលព័ទ្ធជុំវិញដោយវង់ក្រចក។ កុំច្រឡំដោយបារនៅពីមុខវង់ក្រចកនីមួយៗ។ ពួកគេត្រូវគេចចេញពីវង់ក្រចកពីព្រោះយើងកំពុងប្រើកន្សោមធម្មតាជាមូលដ្ឋានប៉ុន្តែពួកគេមិនមានអត្ថន័យផ្សេងទៀតទេ។ អ្វីដែលសំខាន់នោះគឺថាយើងកំពុងស្នើសុំតួអក្សរបីដែលមានចំនុចប៉ុន្តែចំនុចនីមួយៗត្រូវបានដាក់ជាវង់ក្រចក។ នេះគឺដើម្បីរក្សាទុកតួអក្សរដែលត្រូវនឹងចំណុចទាំងនោះដើម្បីឱ្យពួកគេអាចត្រូវបានយោងម្តងទៀតពីកន្សោមធម្មតា។ នេះគឺជាការប្រើប្រាស់វង់ក្រចកមួយផ្សេងទៀតដែលនឹងងាយស្រួលប្រើនៅពេលក្រោយក្នុងការជំនួស។
នេះគឺជាកន្លែងដែលលេខទាំងបីខាងក្រោមភ្ជាប់មកជាមួយសញ្ញាដកនៅពីមុខពួកគេ។ ក្នុងករណីនេះរបារគឺសំខាន់។ វាត្រូវបានប្រើដើម្បីចង្អុលបង្ហាញថាលេខខាងក្រោមគឺជាឯកសារយោងនិងកំពុងយោងទៅវង់ក្រចកមុន។ ឧទាហរណ៍ៈ ១ សំដៅទៅលើវង់ក្រចកទីមួយ \ ២ ដល់វិនាទីនិងបន្តទៀត។
នោះគឺជាមួយនឹងកន្សោមធម្មតាដែលយើងបានដាក់អ្វីដែលយើងកំពុងរកគឺពាក្យទាំងអស់ដែលចាប់ផ្តើមដោយអក្សរបួនហើយបន្ទាប់មកមានអក្សរមួយដែលដូចគ្នានឹងលេខទីបីមួយផ្សេងទៀតគឺដូចគ្នានឹងអក្សរទីពីរនិងមួយទៀត នោះគឺដូចគ្នានឹងដំបូងដែរ។ លទ្ធផលគឺក្រាំងប្រាំបីអក្សរដែលមាននៅក្នុងបញ្ជីពាក្យ។ ដូចអ្វីដែលយើងចង់បាន។
ប្រសិនបើយើងប្រើកន្សោមធម្មតាដែលបានពង្រីកយើងនឹងមិនចាំបាច់គេចផុតពីវង់ក្រចកទេប៉ុន្តែបើមានការព្រមានដកឃ្លាធម្មតាមិនដំណើរការក្នុងកម្មវិធីទាំងអស់ពីព្រោះវាមិនមានលក្ខណៈស្តង់ដារ។ ទោះយ៉ាងណាក៏ដោយជាមួយ grep ពួកគេធ្វើការដូច្នេះវាអាចជាវិធីមួយទៀតដើម្បីធ្វើដូចគ្នា។ អ្នកអាចសាកល្បងវាប្រសិនបើអ្នកចង់បាន។
កន្សោមជំនួស៖ ពាក្យបញ្ជា sed
បន្ថែមពីលើការស្វែងរកការប្រើប្រាស់ល្អបំផុតមួយនៃកន្សោមធម្មតាគឺជំនួសអត្ថបទស្មុគស្មាញ។ ដើម្បីធ្វើដូចនេះវិធីមួយដើម្បីធ្វើវាគឺជាមួយពាក្យបញ្ជា sed ។ អំណាចនៃពាក្យបញ្ជា sed មានច្រើនជាងការជំនួសអត្ថបទប៉ុន្តែនៅទីនេះខ្ញុំនឹងប្រើវាសម្រាប់វា។ វាក្យសម្ព័ន្ធដែលខ្ញុំនឹងប្រើជាមួយពាក្យបញ្ជានេះគឺមានដូចខាងក្រោម៖
sed [-r] 's/REGEX/REPL/g' FICHERO
ឬក៏ៈ
COMANDO | sed [-r] 's/REGEX/REPL/g'
កន្លែងដែល REGEX នឹងក្លាយជាកន្សោមទៀងទាត់ស្វែងរកនិង REPL ជំនួស។ សូមចងចាំថាពាក្យបញ្ជានេះពិតជាមិនជំនួសអ្វីមួយនៅក្នុងឯកសារដែលយើងបង្ហាញនោះទេប៉ុន្តែអ្វីដែលវាធ្វើគឺបង្ហាញយើងពីលទ្ធផលនៃការជំនួសនៅក្នុងស្ថានីយដូច្នេះកុំខ្លាចដោយពាក្យបញ្ជាដែលខ្ញុំនឹងដាក់បន្ទាប់។ គ្មាននរណាម្នាក់ក្នុងចំណោមពួកគេនឹងកែប្រែឯកសារណាមួយនៅក្នុងប្រព័ន្ធរបស់អ្នកទេ។
ចូរចាប់ផ្តើមជាមួយឧទាហរណ៍សាមញ្ញ។ យើងទាំងអស់គ្នាមានឯកសារកំណត់រចនាសម្ព័ន្ធផ្សេងៗនៅក្នុងថតឯកសារ / etc ដែលជាធម្មតាមានមតិយោបល់ចាប់ផ្តើមពី "#" ។ ឧបមាថាយើងចង់ឃើញឯកសារមួយក្នុងចំណោមឯកសារទាំងនេះដោយគ្មានយោបល់។ ឧទាហរណ៍ខ្ញុំនឹងធ្វើវាជាមួយ fstab ។ អ្នកអាចសាកល្បងជាមួយអ្វីដែលអ្នកចង់បាន។
sed 's/#.*//g' /etc/fstab
ខ្ញុំនឹងមិនដាក់លទ្ធផលនៃពាក្យបញ្ជានៅទីនេះទេពីព្រោះវាអាស្រ័យលើអ្វីដែលអ្នកមាននៅក្នុង fstab របស់អ្នកប៉ុន្តែប្រសិនបើអ្នកប្រៀបធៀបលទ្ធផលនៃពាក្យបញ្ជាជាមួយមាតិកានៃឯកសារអ្នកនឹងឃើញថារាល់យោបល់ទាំងអស់បានបាត់។
នៅក្នុងពាក្យបញ្ជានេះកន្សោមស្វែងរកគឺ«#.*
", នោះគឺ" "" អមដោយតួអក្សរមួយចំនួន, នោះគឺមតិយោបល់។ ហើយការបញ្ចេញមតិជំនួសប្រសិនបើអ្នកក្រឡេកមើលរបារពីរជាប់គ្នាអ្នកនឹងឃើញថាមិនមានទេដូច្នេះអ្វីដែលវាកំពុងធ្វើគឺការជំនួសមតិយោបល់ដោយគ្មានអ្វីសោះពោលគឺលុបវាចោល។ សាមញ្ញមិនអាចទៅរួចទេ។
ឥឡូវនេះយើងនឹងធ្វើផ្ទុយពីនេះ។ ឧបមាថាអ្វីដែលយើងចង់បានគឺធ្វើអត្ថាធិប្បាយគ្រប់បន្ទាត់នៃឯកសារ។ តោះសាកល្បងវិធីនេះ៖
sed 's/^/# /g' /etc/fstab
អ្នកនឹងឃើញថានៅក្នុងលទ្ធផលនៃពាក្យបញ្ជាបន្ទាត់ទាំងអស់ចាប់ផ្តើមដោយសញ្ញាហាសនិងចន្លោះទំនេរ។ អ្វីដែលយើងបានធ្វើគឺជំនួសការចាប់ផ្តើមនៃបន្ទាត់ដោយ«#
«។ នេះក៏ជាឧទាហរណ៍សាមញ្ញមួយដែលអត្ថបទដែលត្រូវជំនួសតែងតែដូចគ្នាប៉ុន្តែឥលូវយើងនឹងធ្វើអោយស្មុគស្មាញជាងនេះបន្តិច។
ព្រះគុណនៃការជំនួសគឺនៅក្នុងកន្សោមជំនួសអ្នកអាចប្រើឯកសារយោងដូចអ្វីដែលខ្ញុំបានប្រាប់អ្នកពីមុន។ សូមត្រលប់ទៅឯកសារឃ្លាដែលយើងបានទាញយកនៅដើមអត្ថបទ។ យើងនឹងដាក់វង់ក្រចកនូវអក្សរធំទាំងអស់ដែលមានប៉ុន្តែយើងនឹងធ្វើវាដោយប្រើពាក្យបញ្ជា៖
sed 's/\([A-Z]\)/(\1)/g' frases
អ្វីដែលយើងមាននៅទីនេះគឺការឆ្លើយតបនៅក្នុងកន្សោមជំនួសដែលសំដៅទៅលើវង់ក្រចកនៅក្នុងកន្សោមស្វែងរក។ វង់ក្រចកក្នុងកន្សោមជំនួសគឺជាវង់ក្រចកធម្មតា។ នៅក្នុងកន្សោមជំនួសពួកគេមិនមានអត្ថន័យពិសេសទេពួកគេត្រូវបានគេដាក់ដូច។ លទ្ធផលគឺថាអក្សរធំទាំងអស់ត្រូវបានជំនួសដោយអក្សរដដែលនោះទោះវាជាអ្វីក៏ដោយជាមួយវង់ក្រចកនៅជុំវិញនោះ។
មានតួអក្សរមួយផ្សេងទៀតដែលអាចត្រូវបានប្រើនៅក្នុងកន្សោមជំនួសវាគឺ "&" ហើយវាត្រូវបានជំនួសដោយអត្ថបទទាំងអស់ដែលត្រូវគ្នានឹងកន្សោមស្វែងរក។ ឧទាហរណ៏នៃការនេះអាចត្រូវបានដាក់ឃ្លាទាំងអស់នៅក្នុងឯកសារនៅក្នុងសម្រង់។ នេះអាចត្រូវបានសម្រេចដោយពាក្យបញ្ជានេះ:
sed 's/.*/"&"/g' frases
ប្រតិបត្ដិការនៃពាក្យបញ្ជានេះគឺប្រហាក់ប្រហែលនឹងបទបញ្ជាមុនដែរតែឥឡូវនេះអ្វីដែលយើងជំនួសគឺខ្សែទាំងមូលដែលមានបន្ទាត់តែមួយជាមួយនឹងសម្រង់ជុំវិញវា។ ដោយសារយើងកំពុងប្រើ "&" វាមិនចាំបាច់ដាក់វង់ក្រចកទេ។
ពាក្យបញ្ជាមានប្រយោជន៍ខ្លះជាមួយកន្សោមធម្មតា
នេះគឺជាពាក្យបញ្ជាពីរបីដែលខ្ញុំយល់ថាមានប្រយោជន៍ឬចង់ដឹងហើយប្រើឃ្លាធម្មតា។ ជាមួយនឹងបទបញ្ជាទាំងនេះការប្រើប្រាស់នៃកន្សោមធម្មតាគឺប្រសើរជាងឧទាហរណ៍ដែលខ្ញុំបានផ្តល់ឱ្យអ្នករហូតមកដល់ពេលនេះប៉ុន្តែវាហាក់ដូចជាសំខាន់ក្នុងការពន្យល់អ្វីមួយអំពីរបៀបដែលការបញ្ចេញមតិទៀងទាត់ដំណើរការដើម្បីយល់ពីវា។
- បង្ហាញផ្នែកនៃទំព័រមេ៖
man bash | grep '^[A-Z][A-Z ]*$'
ជាការពិតអ្នកអាចផ្លាស់ប្តូរពាក្យបញ្ជាប៊្លុកទៅអ្វីដែលអ្នកចង់បាន។ ហើយបន្ទាប់មកពីបុរសអ្នកអាចទៅដោយផ្ទាល់ទៅផ្នែកដែលអ្នកចាប់អារម្មណ៍ជាការពិតកន្សោមធម្មតា។ ចុច« / »ដើម្បីចាប់ផ្តើមស្វែងរកនិងសរសេរ«^ALIASES$
»ឧទាហរណ៍ទៅផ្នែក ALIASES ។ ខ្ញុំគិតថានេះជាការប្រើប្រាស់លើកដំបូងដែលខ្ញុំបានចាប់ផ្តើមធ្វើឱ្យមានការបញ្ចេញមតិទៀងទាត់កាលពីពីរបីឆ្នាំមុន។ ការឆ្លងកាត់ទំព័រមួយចំនួននៃសៀវភៅដៃគឺស្ទើរតែមិនអាចទៅរួចទេបើគ្មានល្បិចដូចនេះ។
- បង្ហាញឈ្មោះអ្នកប្រើប្រាស់ទាំងអស់នៃម៉ាស៊ីនរួមទាំងឈ្មោះពិសេស៖
sed 's/\([^:]*\).*/\1/' /etc/passwd
- បង្ហាញឈ្មោះអ្នកប្រើប្រាស់ប៉ុន្តែមានតែសំបកប៉ុណ្ណោះ៖
grep -vE '(/false|/nologin)$' /etc/passwd | sed 's/\([^:]*\).*/\1/g'
វាពិតជាអាចធ្វើបានដោយការបញ្ចេញមតិធម្មតាតែមួយប៉ុន្តែវិធីធ្វើវាហួសពីអ្វីដែលខ្ញុំបានប្រាប់អ្នកនៅក្នុងអត្ថបទទាំងនេះដូច្នេះខ្ញុំបានធ្វើវាដោយផ្សំពាក្យបញ្ជាពីរ។
- បញ្ចូលសញ្ញាក្បៀសមុនពេលបីខ្ទង់ចុងក្រោយនៃលេខទាំងអស់នៅក្នុងឯកសារលេខ៖
sed 's/\(^\|[^0-9.]\)\([0-9]\+\)\([0-9]\{3\}\)/\1\2,\3/g' numbers
វាដំណើរការតែជាមួយលេខរហូតដល់ ៦ ខ្ទង់ប៉ុន្តែវាអាចត្រូវបានគេហៅថាច្រើនជាងម្តងដើម្បីដាក់ឧបករណ៍បំបែកនៅក្នុងក្រុមផ្សេងទៀតនៃលេខបីខ្ទង់។
- ស្រង់អាសយដ្ឋានអ៊ីមែលទាំងអស់ចេញពីឯកសារមួយ៖
grep -E '\<[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\>' FICHERO
- បំបែកថ្ងៃខែនិងឆ្នាំនៃកាលបរិច្ឆេទទាំងអស់ដែលបង្ហាញក្នុងឯកសារ៖
sed -r 's/([0-9]{2})[/-]([0-9]{2})[/-]([0-9]{4})/Día: \1, Mes: \2, Año: \3/g' FICHERO
- ស្វែងយល់ពីអាយភីក្នុងស្រុករបស់យើង៖
/sbin/ifconfig | grep 'inet .*broadcast' | sed -r 's/[^0-9]*(([0-9]+\.){3}[0-9]+).*/\1/g'
នេះក៏អាចត្រូវបានធ្វើដោយប្រើពាក្យបញ្ជាតែមួយប៉ុន្តែខ្ញុំបែងចែកវាឱ្យទៅជាហ្គែរហ្គែរនិងស៊ែរសម្រាប់ភាពសាមញ្ញ។
អាសយដ្ឋានមានប្រយោជន៍មួយចំនួន
នេះជាអាសយដ្ឋានមួយចំនួនដែលអាចមានប្រយោជន៍ទាក់ទងនឹងកន្សោមធម្មតា៖
- បណ្ណាល័យកន្សោមធម្មតា៖ នេះគឺជាបណ្ណាល័យកន្សោមធម្មតាដែលអ្នកអាចស្វែងរកកន្សោមទៀងទាត់ទាក់ទងនឹងប្រធានបទដែលអ្នកចាប់អារម្មណ៍។ ដើម្បីស្វែងរកអាស័យដ្ឋានគេហទំព័រអត្តសញ្ញាណប័ណ្ណឬអ្វីៗផ្សេងទៀត។
- RegExr៖ អ្នកត្រួតពិនិត្យការបញ្ចេញមតិទៀងទាត់តាមអ៊ិនធរណេត។ វាអនុញ្ញាតឱ្យអ្នកបញ្ចូលអត្ថបទហើយអនុវត្តកន្សោមធម្មតាទៅវាទាំងស្វែងរកឬជំនួស។ វាផ្តល់ព័ត៌មានអំពីកន្សោមធម្មតាហើយអ្នកមានជំរើសខ្លះក្នុងការផ្លាស់ប្តូរអាកប្បកិរិយារបស់វា។
- ម៉ាស៊ីនបង្ហាញកន្សោមធម្មតា៖ វាគឺជាកម្មវិធីបន្ថែមសម្រាប់ហ្វុយហ្វាយដែលអនុញ្ញាតឱ្យពិនិត្យមើលកន្សោមធម្មតាពីកម្មវិធីរុករក។
សេចក្តីសន្និដ្ឋាន
សំរាប់ពេលនេះគឺទាំងអស់។ កន្សោមធម្មតាគឺស្មុគស្មាញប៉ុន្តែមានប្រយោជន៍។ វាត្រូវការពេលវេលាដើម្បីរៀនពួកគេប៉ុន្តែប្រសិនបើអ្នកដូចជាខ្ញុំការលេងជាមួយពួកគេហាក់ដូចជាសប្បាយហើយបន្តិចទៀតអ្នកនឹងធ្វើជាម្ចាស់លើពួកគេ។ វាគឺជាពិភពលោកទាំងមូល។ មានរឿងជាច្រើនដែលត្រូវនិយាយនៅឡើយអំពីបរិមាណខ្ជិលច្រអូសរចនាប័ទ្មប៉េលអិល - លីលេន។ ល។ ហើយបន្ទាប់មកកម្មវិធីនីមួយៗមានលក្ខណៈនិងវ៉ារ្យ៉ង់របស់វាដូច្នេះដំបូន្មានល្អបំផុតដែលខ្ញុំអាចផ្តល់ឱ្យអ្នកគឺត្រូវមើលឯកសារនៃកម្មវិធីដែលអ្នកកំពុងប្រើរាល់ពេលដែលអ្នកត្រូវសរសេរកន្សោមធម្មតានៅក្នុងកម្មវិធីថ្មី។
ហេ! …ហេ! … ភ្ញាក់ពីគេង! …តើអ្នកទាំងអស់គ្នាកំពុងធ្វើអ្វី? 🙂
Fuentes
គំនិតនិងឧទាហរណ៍ខ្លះសម្រាប់ការបង្ហាញជាប្រចាំនៅក្នុងអត្ថបទនេះដែលខ្ញុំបានយកពីទីនេះ៖
- http://sed.sourceforge.net/sed1line.txt
- http://www.thegeekstuff.com/2009/10/unix-sed-tutorial-advanced-sed-substitution-examples/
៥៧ យោបល់ទុកអ្នក
ពូកែណាស់ !!!
វាមិនអាក្រក់ទេប៉ុន្តែអរគុណច្រើន។ សង្ឃឹមថាមនុស្សចូលចិត្តវា។ 🙂
ខ្ញុំចូលចិត្តវាហា!
បន្ទាប់មកខ្ញុំត្រូវតែធ្វើអ្វីដែលត្រឹមត្រូវ។ សើចឮខ្លាំង!! 🙂
សូមអរគុណច្រើនចំពោះការអត្ថាធិប្បាយរបស់អ្នក។
Fuck រក្សាការសរសេរបុរសរក្សាវា។
@Blaire Pascal៖ យោបល់ដូចជាការលើកទឹកចិត្តរបស់អ្នក។ 🙂អរគុណច្រើន !!
ខ្ញុំក៏ចូលចិត្តវាដែរ ... សូមអរគុណ🙂
សូមអរគុណចំពោះការអត្ថាធិប្បាយ។ ខ្ញុំសង្ឃឹមថានឹងសរសេរពីរបីថែមទៀត។ 🙂
ការបង្ហោះរបស់អ្នកគឺអស្ចារ្យអ្នករៀនបានច្រើនផ្ទុយទៅវិញអ្នករៀនបំពេញភារកិច្ចតាមរបៀបឆើតឆាយនិងមានប្រសិទ្ធភាព។
តើអ្នកបានគិតអំពីការប្រមូលផ្ទាំងស្គ្រីបសែលរបស់អ្នកហើយឬនៅ? តម្រៀបជា pdf នឹងបង្កើតសៀវភៅដៃដ៏អស្ចារ្យ។
លើកទឹកចិត្តនិងអរគុណអ្នកខ្លាំងណាស់!
សូមអរគុណច្រើន !! វាមិនមែនជាគំនិតអាក្រក់ទេ។ នៅពេលនេះមានតែពីរទេប៉ុន្តែខ្ញុំនឹងគិតអំពីវានៅពេលក្រោយ។ 🙂
អត្ថបទល្អណាស់, ៥+ ។
សូមអរគុណ។ ខ្ញុំរីករាយដែលអ្នកចូលចិត្តវា។ 🙂
ល្អណាស់! ខ្ញុំត្រូវផ្លាស់ប្តូរកន្សោមដូចខាងក្រោមហើយខ្ញុំមិនដឹងពីរបៀបធ្វើវាទេ៖
192.168.0.138/Server ដោយ 192.168.0.111/data
បញ្ហាស្ថិតនៅក្នុងនិមិត្តសញ្ញា "/" ។
ខ្ញុំកំពុងប្រើពាក្យបញ្ជា៖
រក។ - ឈ្មោះ "* .txt" -exec sed -i 's / TEXT1 / TEXT2 / g' {} \;
អ្វីដែលត្រូវបានប្រើដើម្បីអនុវត្តការងារប្រភេទនេះជាថ្មីម្តងទៀតប៉ុន្តែខ្ញុំមិនអាច ...
តើមានអ្នកណាដឹងថាខ្ញុំគួរធ្វើវាដោយរបៀបណា?
ឱប!
Seba
អ្វីដែលអ្នកត្រូវធ្វើគឺគេចចេញពីចរិតដូចនេះ៖
រក។ -name "* .txt" -exec sed -i 's / \ / Server / \ / data / g' {} \;
អ្នកក៏អាចប្រើឧបករណ៍បំបែកមួយផ្សេងទៀតនៅក្នុង sed ដែរ។ វាមិនចាំបាច់ធ្វើជារបារទេ។ Sed អនុញ្ញាតឱ្យប្រើតួអក្សរណាមួយ។ ឧទាហរណ៍វានឹងកាន់តែច្បាស់៖
រក។ -name "* .txt" -exec sed -i's | / server | / data | g '{} \;
ហើយប្រសិនបើអ្នកនឹងចម្លងនិងបិទភ្ជាប់ពាក្យបញ្ជាពីសេចក្តីអត្ថាធិប្បាយនេះសូមប្រយ័ត្ននឹងការដកស្រង់ពាក្យថាប្លក, រូបភាពផ្លាស់ប្តូរពួកវាសម្រាប់អ្នកវាយអក្សរ។ 🙂
ស្វាគមន៍។
ល្អបំផុត !!!!
ខ្ញុំបានស្វែងរកដំណោះស្រាយនេះអស់រយៈពេលជាយូរមកហើយ។
នៅទីនេះខ្ញុំទុកពាក្យបញ្ជាពេញលេញដែលខ្ញុំបានប្រើ
រក។ -name "* .txt" -exec sed -i's | 192 \ .168 \ .0 \ .238 \ / Server | 192 \ .168 \ .0 \ .111 \ / data | g '{} \;
អត្ថប្រយោជន៍នៃពាក្យបញ្ជានេះគឺថាវាផ្លាស់ប្តូរឯកសារ .txt ទាំងអស់ (ឬផ្នែកបន្ថែមដែលអ្នកចង់បាន) កើតឡើងម្តងទៀត ... អ្នកត្រូវតែប្រុងប្រយ័ត្នបំផុត!
តែវាមានប្រយោជន៍ណាស់ !!!
សូមអរគុណសម្រាប់អ្វីគ្រប់យ៉ាងនិងការអបអរសាទរមួយពាន់ដល់ក្រុមទាំងមូល។
ខ្ញុំតែងតែអានវាពីសំបុត្រ!
ឱប
Seba