Hanyoyi daban-daban don Amfani da Shafin Shafi a cikin Linux


Shin kun taɓa kasancewa cikin wani yanayi don aiki tare da fayilolin CSV kuma samar da kayan aiki cikin tsari mai tsari? Kwanan nan ina aiki tare da tsabtace bayanai a kan fayil wanda ba ya cikin tsari mai kyau. Yana da wurare masu yawa da yawa tsakanin kowane shafi kuma dole ne in canza shi zuwa tsarin CSV don turawa zuwa bayanan. Bayan tsaftacewa da ƙirƙirar fitarwa a cikin tsarin CSV, fitowata ba ta da sha'awa don tabbatar da amincin bayanai a cikin fayil ɗin CSV. Wannan shine lokacin umarnin\"Shafi" ya zo gareni.

Dangane da shafin yanar gizon, umarnin shafi\"jerin ginshiƙai". A cikin kalmomi masu sauƙi, shafi shine mai amfani mai sauƙi wanda zai iya tsara fitowar ku zuwa tsarin shafi (layuka da filaye) dangane da tsarin fayil ɗin tushen ku. Umurnin shafi shine wani ɓangare na kunshin util-Linux.

Wani mahimmin mahimmanci da za a lura da shi anan shine umarnin shafi yana nuna halaye daban-daban a cikin rahoton bug don ƙarin sani game da wannan.

$ dpkg -S $(which column)

Don dalilai na zanga-zanga, Ina amfani da CentOS 7 kuma zan nuna zaɓuɓɓuka daban-daban tsakanin Ubuntu da CentOS 7. Don bincika sigar ginshiƙi ku bi umarnin mai zuwa. Wannan umarnin zai kuma nuna sigar amfani-Linux.

$ column --version  # will not work in Debian/ubuntu

Hakanan zaka iya bincika sigar util-Linux ta hanyar aiwatar da umarnin ƙasa.

$ rpm -qa | grep -i util-linux   # Redhat,Centos,Fedora,Amazon Linux
$ dpkg -l | grep -i util-linux    # Ubuntu

Kafin amfani da umarnin rukunin wuri mai kyau don farawa zai zama shafin mutum kuma bincika hanyoyinsa.

$ man column

Jerin Abubuwan Fayil a Tsarin Shafi

Umurnin shafi zai iya ƙirƙirar tebur ta hanyar shigar da sunan sunan a matsayin jayayya tare da tutar -t . Ina amfani da/sauransu/passwd azaman fayil ɗin shigarwa.

$ column -t /etc/passwd

Idan aka kalli hoton da ke sama, kuna iya tunanin wannan ba abin da muke tsammani ba ne kuma fitowar na iya zama baƙon abu. Haka ne! Gaskiyan ku. Ginshiƙai sunyi la'akari da sarari azaman iyakantaccen yanki lokacin ƙirƙirar tebur. Wannan halayyar ana iya shawo kanta ta hanyar wucewa wani adadi na al'ada.

Custom Delimeter

Masu iyakance al'ada suna ba ku zaɓuɓɓuka masu yawa don aiki tare da su. Don ƙirƙirar iyakantaccen al'ada yi amfani da tuta -s wanda ke biye da shi. Yanzu za mu yi amfani da \":” azaman iyaka don raba/sauransu/passwd fayil.

$ column -s ":"  -t /etc/passwd

Duba hoton da ke sama inda aka tsara teburin da kyau kuma aka tsara shi. Daga samfurin 2.23 na util-linux -s an canza shi don kar ya zama mai haɗama.

Yanzu gudanar da wannan umarnin a cikin Ubuntu kuma sakamakon zai zama mai haɗama. Wannan saboda umarnin shafi (bsdmainutils) akan Ubuntu zai ɗauki ma'amala da kalmomin kusa da juna azaman kalma ɗaya.

$ column -s ":"  -t /etc/passwd

Don shawo kan wannan ɗabi'ar amfani da tuta -n .

$ column -t -s ":" -n /etc/passwd             # Only on Debian/Ubuntu

Yi watsi da Layi mara laya a cikin Fitar fayil

Lokacin da kake da layi mara layi a cikin fayil ɗin shigarwar ka, umarnin shafi ta tsohuwa ya ƙi shi. Duba fayil na shigarwa wanda yake cikin tsarin CSV kuma na ƙara layi mara kyau tsakanin kowane layi. Yanzu bari mu ƙirƙiri tebur kamar yadda muka yi a baya tare da wannan fayil ɗin shigarwa.

$ column -t -s ";" dummy.txt

Daga hoton da ke sama zaka iya ganin file na na shigar dummy.txt yana da layuka mara amfani kuma idan nayi kokarin kirkirar tebur, ana watsi da layukan wofi.

Lura: Wannan ita ce ƙa'idar tsoho don duka bambancin\"bsdmainutils/util-linux" na umarnin rukunin. Amma shafi (bsdmainutils) yana da zaɓi don shawo kan wannan ɗabi'ar ta wuce tutar -e .

$ column -e -t -s "," dummy.txt        # Only on Debian/Ubuntu

Daga hoton da ke sama, zaku iya ganin an tsara teburin yadda yakamata kuma ba a kula da layin wofi.

Mai Rarraba Kayan Fayil

Ta hanyar tsoho, za a yi amfani da fararen wurare biyu azaman masu rarrabuwa masu fitarwa. Ana iya shawo kan wannan halayyar ta wuce tutar -o . Ba zaku sami zaɓi mai raba fitarwa ba a cikin shafi (bsdmainutils).

$ column -t -s "," -o "||" dummy.txt	# Only on Rhel based distro

Sanya layukan Fayil zuwa Ginshikan

Ta amfani da -x tutar zaka iya canza layuka zuwa ginshiƙai. Wannan halayyar iri ɗaya ce a cikin rhel da bambance-bambancen ubuntu na umarnin shafi. Wannan fasali ne mai matukar alfanu yayin da zaku kama wani yanki ta hanyar awk ko column column sannan a maida shi zuwa kan taken don fayil ɗin CSV ɗin ku.

$ column -x fillcols.txt

Lokacin da kake gudanar da umarnin shafi ba tare da amfani da kowane tuta ba halayyar zata kasance daidai da wuce tutar -x .

Nemo Girman Shafi

Shafin yana amfani da canjin muhalli ($COLUMNS) don gano girman tashar ku kuma gwargwadon girman amfani da umarnin echo, za a nuna girman tebur a cikin tashar.

$ echo $COLUMNS

Kalli hoton a kasa. Da farko, Na gyara tashar tawa don samun $COLUMNS girman da aka saita zuwa 60 kuma ya tafiyar da umarnin shafi. Bugu da ƙari na sake gyara tashar tawa don samun $COLUMNS girman da aka saita zuwa 114 kuma na sake gudanar da umarnin shafi. Kuna iya ganin banbanci akan yadda shafi yake buga tebur lokacin da muka sake girman tashar.

$ column -t -s ":" /etc/passwd | head 5

Shi ke nan ga wannan labarin. Idan kuna da wani martani don Allah a ba da shi a cikin ɓangaren sharhi.