Kuinka voin näyttää tekstitiedoston sisällön komentorivillä?

Haluan näyttää tekstitiedoston sisällön komentorivillä. Tiedosto sisältää vain 5-6 merkkiä. Onko tähän helppo tapa?

Vastaa

Käyttämällä cat

Koska tiedosto on lyhyt, voit käyttää cat .

cat filename 

less

Jos haluat tarkastella pidemmän tiedoston sisältöä, voit käyttää hakulaitetta kuten less .

less filename 

Voit saada less käyttäytymään kuten cat, kun sitä kutsutaan pienille tiedostoille, ja käyttäytyä normaalisti muulla tavalla välittämällä se -F – ja -X -liput.

less -FX filename 

Minulla on aliaksenimelle less -FX. Voit tehdä sellaisen itse näin:

alias aliasname="less -FX" 

Jos lisäät aliaksen -kuoren kokoonpanoon , voit käyttää sitä ikuisesti.

Käyttämällä od

Jos tiedosto sisältää outoja tai tulostamattomia merkkejä, voit käyttää od merkkien tutkimiseksi. Esimerkiksi

$ cat file (ÐZ4 ?o=÷jï $ od -c test 0000000 202 233 ( 320 K j 357 024 J 017 h Z 4 240 ? o 0000020 = 367 \n 0000023 

kommentit

  • +1, myös sed -n l file voisi olla hyödyllinen.
  • Onko less selkeitä etuja muihin hakulaiteohjelmiin, kuten pg vai onko se vain henkilökohtaisten mieltymysten mukaista?
  • @SamWeinberg: less on enemmän ominaisuuksia kuin pg. Katso less(1) ja pg(1) -sivut. On myös muita hakijoita. Katso unix.stackexchange.com/questions/81129/… . less on todennäköisesti yleisimmin käytetty hakulaite, mutta käyttämäsi hakulaite riippuu henkilökohtaisista mieltymyksistä.
  • don ’ t unohda more ja most!

Vastaa

Vaikka kaikki käyttävät cat filename -tulostusta tiedostotekstin vakiolähtöön, ensimmäinen tarkoitus on con kissa . Kissan käsisivulta:

kissa – ketjuta tiedostot ja tulosta vakiotulostukseen

Nyt kissa sopii tiedostojen tulostamiseen, mutta on olemassa vaihtoehtoja:

 echo "$(<filename)" or printf "%s" "$(<filename)" 

Paluu ( ) lausekkeen arvo, tässä tapauksessa tiedostonimi , jota sitten laajennetaan $ -merkillä echo tai printf.

Päivitys:

< filename 

Tämä tekee juuri sen mitä haluat ja on helppo muistaa.

Tässä on esimerkki, jonka avulla voit valita tiedoston valikosta ja tulostaa sen sitten.

#!/bin/bash select fname in *; do # Don"t forget the "" around the second part, else newlines won"t be printed printf "%s" "$(<$fname)" break done 

Lisätietoja lukeminen:
BashPitfalls – kissatiedosto | sed s / foo / bar /> tiedosto
Bash-viite – uudelleenohjaus

Kommentit

  • Päivityksesi: ” < filename on täsmälleen wh haluamallasi tavalla … ” on harhaanjohtava. Kaiken kaikkiaan, vaikka tämä on mielenkiintoinen keskustelu vaihtoehdoista, mielestäni cat on yksinkertaisempi.
  • Paljas < filename ei näyttää tiedoston sisällön, mutta cat filename näyttää.
  • Voit käyttää myös tee < filename.
  • +1 echo "$(<filename)" -basismille. Ei tässä tarpeeksi.
  • Tuo ’ loistava idea käyttää Linuxin sisäistä komentoa echo "$(<filename)" kanssa. Kiitos …

Vastaus

Työkalut tekstitiedostojen käsittelemiseen unix-ohjelmassa ovat perustavanlaatuisia jokapäiväisiä komentoja:

Unix- ja Linux-tiedostoissa koko sisällön tulostamiseksi tiedostosta

cat filename.txt 

tai

more filename.txt 

tai

less filename.txt 

Muutamalle viimeiselle riville

tail filename.txt 

muutama ensimmäinen rivi

head filename.txt 

Vastaa

Voit näyttää sisältöä seuraavalla komennolla tekstitiedostosta.

 cat filename 

Kommentit

  • Lisätietoja cat, suorita man cat.

Vastaa

Yksi vaihtoehto on käyttää more

esim.more file.txt

Siinä ei kuitenkaan ole kaikkia ominaisuuksia, jotka less on lisännyt.
Yksi yksinkertainen esimerkki on, että et voi ”t vierittää varmuuskopiota lähdössä. Yleensä se on ylitetty vähemmän – mikä nimettiin vitsissä, koska

vähemmän on enemmän

Kommentit

  • Hieno selitys miksi nimi oli vähemmän

vastaus

Käytän aina $ less "your file here", koska se on hyvin yksinkertaista, tarjoaa sisäänrakennetun interaktiivisen grep -komennon ja antaa sinulle helppokäyttöisen käyttöliittymän, jota voit vierittää nuolinäppäimillä.

(Se sisältyy myös melkein jokaiseen * nix-järjestelmään)

Kommentit

  • less on more (vertaa man less ja man more), ja minulla on kaksi ärsyttävää ominaisuutta: 1) se vaihtaa vaihtoehtoiseen näyttöpuskuriin, kun vähemmän loppuu, juuri katselemasi tiedosto katoaa. 2) EOF: ssä sinun on kirjoitettava nimenomaisesti q (tiedän, siellä ’ s vaihtoehto tähän). Joten yksi ensimmäisistä toimistani uudessa ympäristössä on export PAGER=/bin/more asettaminen profiiliini ja käyttää more koko ajan.
  • @ ott–: 1) Kokeile lippua -X. 2) Kokeile lippua -E. less on emulointitila more. Voit ottaa sen käyttöön asettamalla ympäristömuuttujan LESS_IS_MORE. Voit vierittää ylöspäin more -emulointitilassa.
  • Katso myös: unix.stackexchange.com/questions / 81129 / …
  • Olen yleensä samaa mieltä siitä, että less on liian monimutkainen. Sen kyky suorittaa ulkoisia komentoja on täydellinen esimerkki sen liian monimutkaisesta.
  • @EvanTeitelman I ’ olen aina pitänyt grep-toimintoa erittäin hyödyllisenä, @ott – Huomaan, että sen takia ’ emuloi more ja ’ s monia lisäominaisuuksia, se tekee työn erittäin hyvin.

Vastaa

Jos sen tiedosto on suuri, ja haluat hakea jostakin tietystä osasta, voit käyttää

 cat filename | grep text_to_search -ni 

Voit myös käyttää interaktiivisempaa Vim-editoria (tai vi-editoria, jos sinulla ei ole Vim-tiedostoa):

 vim filename Or vi filename

Vim / vi on loistava editori, sitä voidaan käyttää myös lukijana normaalitilassa tai -R-vaihtoehdon avulla, sillä on monia ominaisuuksia, jotka auttaa sinua selaamaan tiedostoa.

Kommentit

  • Lyhyempi nimikkeelle vim -R on view. Mutta pidä mielessä, että se ei pidä uudelleenohjauksista, kuten xargs ja vi – ”Tulo ei ole päätelaitteesta” on käsitelty.
  • kiitos @manatwork for heads up! Olen äskettäin alkanut käyttää Vimiä ja pidän siitä useiden ominaisuuksien takia. Uudelleenohjausten osalta unohdin sen, kiitos muistutuksesta. Työskentelen toistaiseksi virtuaalikoneella, jossa käytän ssh: tä ilman käyttöliittymää, joten Vimillä on suuri hyöty, kun mikään muu GUI-editori ei toimi, ’ s miksi korostin Vimiä tässä.

Vastaa

Näytä tiedostonimen sisältö kissa-komennolla. kissan tiedostonimi

Muokkaa tiedostoa komennolla vim. vim-tiedostonimi

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *