Android

Linux cut utos na may mga halimbawa

Linux Tutorials | cut command | Splitting a file vertically | GeeksforGeeks

Linux Tutorials | cut command | Splitting a file vertically | GeeksforGeeks

Talaan ng mga Nilalaman:

Anonim

Maraming mga utility na magagamit sa mga sistema ng Linux at Unix na nagbibigay-daan sa iyo upang iproseso at i-filter ang mga file ng teksto. Ang cut ay isang utility utility line na nagbibigay-daan sa iyo upang i-cut ang mga bahagi ng mga linya mula sa tinukoy na mga file o piped data at i-print ang resulta sa karaniwang output. Maaari itong magamit upang i-cut ang mga bahagi ng isang linya sa pamamagitan ng delimiter, posisyon ng bait, at karakter.

Sa tutorial na ito, ipapakita namin sa iyo kung paano gamitin ang utos ng cut ng Linux sa pamamagitan ng mga praktikal na halimbawa at detalyadong mga paliwanag sa mga pinaka-karaniwang pagpipilian sa pagputol.

Paano Gamitin ang Utos ng Gupit

Ang syntax para sa utos ng cut ay ang mga sumusunod:

cut OPTION……

Kapag gumagamit ng utos ng cut dapat mong gamitin ang isa at isa lamang sa mga sumusunod na pagpipilian:

  • -f ( --fields=LIST ) - Piliin sa pamamagitan ng pagtukoy ng isang patlang, isang hanay ng mga patlang, o isang hanay ng mga patlang. Ito ang pinaka-karaniwang ginagamit na opsyon. -b ( --bytes=LIST ) - Piliin sa pamamagitan ng pagtukoy ng isang bait, isang hanay ng mga bait, o isang hanay ng mga bait. -c ( --characters=LIST ) - Piliin sa pamamagitan ng pagtukoy ng isang character, isang hanay ng mga character, o isang hanay ng mga character.

Iba pang mga pagpipilian ay:

  • -d ( --delimiter ) - Tukuyin ang isang delimiter na gagamitin sa halip na ang default na "TAB" delimiter. - Pag- --complement - umakma sa pagpili. Kapag ginagamit ang pagpipiliang opsyon na ito ay magpapakita ng lahat ng mga byte, character o patlang maliban sa napili. -s ( --only-delimited ) - Sa pamamagitan ng default cut ay --only-delimited print ang anumang linya na naglalaman ng walang character na delimiter. Kapag ginagamit ang pagpipiliang opsyon na ito ay hindi mag-print ng mga linya na hindi naglalaman ng mga delimiter. --output-delimiter - Ang default ay ang paggamit ng input delimiter bilang delimiter ng output. Ang opsyon na ito ay nagbibigay-daan sa iyo upang tukuyin ang isang iba't ibang mga output delimiter string.

Ang cut utos ay maaaring tumanggap ng zero o higit pang mga pangalan ng FILE input. Kung walang tinukoy na FILE, o kapag ang FILE ay,, babasahin ng hiwa ang pamantayang input.

Ang argumento ng LIST na ipinasa sa mga pagpipilian sa -f , -b , at -c ay maaaring isang integer, maraming integer na pinaghiwalay ng mga koma, isang saklaw ng integer, o maraming mga saklaw ng integer na pinaghiwalay ng mga koma. Ang bawat saklaw ay maaaring isa sa mga sumusunod:

  • N ang larangan ng Nth, byte o character, nagsisimula mula sa 1. N- mula sa larangan ng Nth, byte o character, hanggang sa dulo ng linya. NM mula sa Nth hanggang sa larangan ng Mth, byte, o character. -M mula sa una hanggang sa larangan ng Mth, byte o character.

Paano Pinuputol ng Patlang

Karaniwang ginagamit ang cut utos upang ipakita ang mga napiling mga patlang mula sa bawat linya ng mga file o ang karaniwang pag-input. Kapag hindi tinukoy ang default na delimiter ay "TAB".

Sa mga halimbawa sa ibaba, gagamitin namin ang sumusunod na file. Ang lahat ng mga patlang ay pinaghihiwalay ng mga tab.

pagsubok.txt

245:789 4567 M:4540 Admin 01:10:1980 535:763 4987 M:3476 Sales 11:04:1978

Upang ipakita ang ika-1 at ika-3 na larangan na gagamitin mo:

cut test.txt -f 1, 3

245:789 M:4540 535:763 M:3476

O kung nais mong ipakita mula sa ika-1 hanggang ika-4 na larangan:

cut test.txt -f -4

245:789 4567 M:4540 Admin 535:763 4987 M:3476 Sales

Paano i-cut batay sa isang delimiter

Upang i-cut batay sa isang delimiter gamitin ang -d pagpipilian na sinusundan ng delimiter na nais mong gamitin.

Halimbawa upang ipakita ang ika-1 at ika-3 na larangan gamit ang ":" bilang isang delimiter, mai-type mo:

cut test.txt -d ':' -f 1, 3

245:4540 Admin 01 535:3476 Sales 11

Maaari mong gamitin ang anumang solong character bilang isang delimiter. Sa sumusunod na halimbawa ginagamit namin ang character character bilang isang delimiter at pag-print sa ika-2 patlang:

echo "Lorem ipsum dolor sit amet" | cut -d ' ' -f 2

ipsum

Paano makadagdag sa pagpili

Upang makadagdag sa pagpipilian sa listahan ng patlang na pagpipilian - pag- --complement pagpipilian. Ito ay i-print lamang ang mga patlang na hindi napili gamit ang -f pagpipilian.

Ang sumusunod na utos ay i-print ang lahat ng patlang maliban sa ika-1 at ika-3:

cut test.txt -f 1, 3 --complement

4567 Admin 01:10:1980 4987 Sales 11:04:1978

Paano tukuyin ang isang output delimiter

Upang tukuyin ang output delimiter gamitin ang --output-delimiter . Halimbawa, upang itakda ang output delimiter sa _ gagamitin mo:

cut test.txt -f 1, 3 --output-delimiter='_'

245:789_M:4540 535:763_M:3476

Paano i-cut ng Byte at Character

Bago magpunta pa, gumawa tayo ng pagkakaiba sa pagitan ng mga bait at mga character.

Ang isang bait ay 8 bits at maaaring kumatawan sa 256 iba't ibang mga halaga. Kapag naitatag ang pamantayan ng ASCII ay isinasaalang-alang ang lahat ng mga titik, numero, at simbolo na kinakailangan upang gumana sa Ingles. Ang talahanayan ng character ng ASCII ay may 128 na mga character at bawat character ay kinakatawan ng isang bait. Kapag nagsimula ang mga computer na maging tanyag sa buong mundo, sinimulan ng mga kumpanya ng tech na ipakilala ang mga bagong pag-encode ng character para sa iba't ibang mga wika at para sa mga wika na may higit sa 256 na character, hindi posible ang isang simpleng pagma-1. Ito ay humahantong sa iba't ibang mga problema tulad ng pagbabahagi ng mga dokumento o pag-browse sa mga website at isang bagong pamantayan sa Unicode na maaaring hawakan ang karamihan sa mga sistema ng pagsulat sa mundo ay kinakailangan. Ang UTF-8 ay nilikha upang malutas ang mga problemang ito. Sa UTF-8, hindi lahat ng mga character ay kinakatawan ng 1 bait. Ang mga character ay maaaring kinakatawan ng 1 bait hanggang 4 na bait.

Sa mga sumusunod na halimbawa, ginagamit namin ang character na ü na tumatagal ng 2 bait.

Gamitin ang opsyon na -b ( --bytes ) upang gupitin ang isang seksyon ng isang linya sa pamamagitan ng pagtukoy ng isang posisyon ng bait.

Piliin ang 5th byte:

echo 'drüberspringen' | cut -b 5

b

Piliin ang ika-5, ika-9 at ika-13 byte:

echo 'drüberspringen' | cut -b 5, 9, 13

bpg

Piliin ang saklaw mula ika-1 hanggang ika-5 byte:

echo 'drüberspringen' | cut -b 1-5

drüb

Sa oras ng pagsulat ng artikulong ito ang bersyon ng hiwa na naka-bundle sa mga coreutils ng GNU ay walang pagpipilian upang i-cut ng mga character. Kapag gumagamit ng cut-pagpipilian na hiwa ay kumikilos katulad ng kapag gumagamit ng -b pagpipilian.

Gupitin ang Mga Halimbawa

Karaniwang ginagamit ang cut utos na kasama ng iba pang mga utos sa pamamagitan ng piping. Narito ang ilang mga halimbawa.

Kumuha ng isang listahan ng lahat ng mga gumagamit

Ang output ng getent passwd utos ay ipinasa upang cut kung aling mga naka-print sa 1st file na ginagamit : bilang delimiter.

getent passwd | cut -d ':' -f1

Tingnan ang 10 madalas na ginagamit na mga utos

Sa sumusunod na halimbawa ng cut ay ginagamit upang hubarin ang unang 8 byte mula sa bawat linya ng output output ng history .

history | cut -c8- | sort | uniq -c | sort -rn | head

Konklusyon

Sa ngayon dapat kang magkaroon ng isang mahusay na pag-unawa sa kung paano gamitin ang Linux cut utos. Kahit na kapaki-pakinabang, ang cut utos ay may ilang mga limitasyon. Hindi nito sinusuportahan ang pagtukoy ng higit sa isang character bilang isang delimiter at hindi nito suportado ng maraming mga decimeter.

cut terminal