Vraag Hoe open ik een tekstbestand in mijn terminal?


Er is een bestand met de naam RESULTS.txt en ik wil dit bestand openen in mijn terminal. (Ik bedoel ik wil dat de inhoud van het bestand wordt weergegeven in de terminal en niet in een teksteditor) 

Hoe doe ik dat ?


113


oorsprong


Ik zie 9 upvotes maar dit is echt basic. Heb je zelfs geprobeerd het antwoord online te vinden? - Colton
Het is een leuke vraag die de voorkeuren van mensen laat zien, van eenvoudig cat naar sed naar nano naar vim - alvas
@Sparksis Wanneer ik zoek naar "open een tekstbestand in een terminal" krijg ik resultaten van mac-forums voor dingen zoals pico, etc. die niet in ubuntu zijn. Dit soort vragen is hier van harte welkom. - Jorge Castro
Misschien wil je een paar Ubuntu-shell-tutorials voor beginners bekijken - Ze zullen uitleggen hoe je dit en gerelateerde dingen moet doen. - l0b0
@Sparksis Ja, het stuurde me hier :) - johnc


antwoorden:


Voor korte bestanden:

cat <path/your_file>

toont direct een tekstbestand in de terminal.

Voor langere bestanden:

less <path/your_file>

laat je scrollen en zoeken (/  text to search  invoeren) in het bestand; druk op q verlaten.

bijv.

cat /home/john/RESULTS.txt
less /home/john/RESULTS.txt

139



bij het invoeren van een commando zoals cat /home/suhail/RESULT.txt ik snap dit cat: /home/suhail/RESULT.txt: No such file or directory - Suhail Gupta
Wanneer u "ls" doet. Wat is het resultaat dan? - Thomas15v
Als u zich in dezelfde map bevindt als het bestand, hoeft u niet het volledige pad te volgen. Je kunt het gewoon doen cat RESULT.txt - Shauna
@SuhailGupta: Er kunnen er meer dan één zijn suhail directory. /home/suhail is normaal gesproken je homedirectory. Wat doet pwd afdrukken? Tabvoltooiing kan ook erg handig zijn; als je typt cat R<tab>, en er is slechts één bestand in de huidige map waarvan de naam begint R, het zal uitbreiden naar de naam van dat bestand. - Keith Thompson
DOOR DE MANIER - Op vensters, is het bevel type - mowwwalker


Een ander alternatief is vim.

vim RESULTS.txt

Nadat u een bestand met vim hebt geopend, kunt u tekst invoegen door te typen i, bijvoorbeeld. Als u uw bestand wilt opslaan, gebruik dan :w (Schrijf of :q (stop) of :wq (voor schrijven en stoppen) of :q! (stop en sla niet op). Soms moet je de ESC toets om de commando's te kunnen typen.

Vim vereist wat leren, maar wordt veel gebruikt en dat is het ook heel veelzijdig.

Controleer de wiki voor community-hulp: https://help.ubuntu.com/community/VimHowto

Vim is een geavanceerde teksteditor die de kracht van de de facto biedt   Unix-editor 'Vi' met een completere functieset. Vim wordt vaak genoemd   een "programmeursredacteur", en is zo handig voor het programmeren van die vele   beschouw het als een volledige IDE. Het is echter niet alleen voor programmeurs. Vim   is perfect voor allerlei tekstbewerking, van het samenstellen van e-mail tot   configuratiebestanden bewerken.


26



Een nog beter alternatief is view, waarmee Vim wordt gestart in de alleen-lezenmodus op Ubuntu. En aangezien het OP gevraagd heeft om te bekijken en expliciet niet om te bewerken ... -1 ... natuurlijk zal ik het downvote terugnemen voor het geval dit wordt bewerkt. - 0xC0000022L
@ 0xC0000022L :) U kunt het downvote behouden. Aarzel niet om een ​​antwoord toe te voegen view als je wilt. Vim is perfect in staat om bestanden te tonen en dit geeft dus antwoord op de vraag. - don.joey
Ik heb je geacteerd commentaar eerste. Prima met mij. Maar sinds je Vim noemde, view zou letterlijk in uw antwoord passen in plaats van een afzonderlijke. Dat denk ik nog steeds en niet in een teksteditor is vrij duidelijk;) - 0xC0000022L
weergave is een domme vierletterige alias voor vim -R. Als u geen opslagopdracht gebruikt zoals ZZ, :w of :x, er is geen verschil. U kunt ook bestanden omleiden naar vim om het als een lezer te gebruiken: command | vim -. Dit is meestal beter dan less, het enige nadeel is dat vim snitchs de gehele output voordat iets wordt weergegeven. - Kaz
@ 0xC0000022L: voor iemand die redelijk nieuw is in het gebruik van de opdrachtregel, kan "in de terminal en niet in een teksteditor" gemakkelijk betekenen "in een hulpprogramma in de terminal, niet in een teksteditor die in een afzonderlijk venster wordt geopend". Toen ik voor het eerst op de commandoregel kwam, was ik zo gewend aan het identificeren van applicaties met hun vensters waar ik zeker aan dacht vim, nano, enz. als onderdeel van de terminal in plaats van als afzonderlijke toepassingen voor een tijdje. - PLL


al die zijn de beste manieren en er is nog een manier om dit te doen & dat is met head opdracht.

head -n -1 filename.txt

en

head -n -0 filename.txt

beide geven je dezelfde invoer.

Hoofdopdracht Uitleg:

Over het algemeen wordt het hoofdcommando gebruikt om de startlijnen van het tekstbestand af te drukken. We kunnen het tekstbestand bekijken met

head filename.txt

Hiermee worden de eerste 10 regels van het bovenstaande tekstbestand afgedrukt.

Als u specifiek wilt aangeven hoeveel lijnen moeten worden bekeken, kunt u head as gebruiken

head -n 20 filename.txt

In het bovenstaande tekstbestand worden eerst 20 regels bekeken.

Als u hele bestandsgegevens wilt weergeven met hoofdbetekent, dan kunnen we het krijgen

head -n -0 filename.txt

Hoop dat bovenstaande uitleg je een idee geeft over het gebruik van het hoofd.


14



kun je het uitleggen head opdracht? is head software? Waar staan ​​de -n en -0 voor? - don.joey
@Private Mijn vriend, met plezier. - Ten-Coin
Dit is gewoon een hele slechte manier om te schrijven cat. Als dat is wat dit moet zijn, dan is er veel meer dan deze manier om het te doen ... - Ry-
head -n -0 filename.txt is gelijk aan cat filename.txt - Keith Thompson
@Jai: Het is een andere, onnodig ingewikkelde manier van schrijven cat. - Ry-


Als het bestand nogal lang is, wilt u misschien gebruiken

less RESULTS.txt

zodat je er doorheen kunt navigeren met richtingstoetsen.


12



Kanttekening: less is de opvolger van more. En in termen van uitvoerbare grootte less is meer dan more. - Joachim Sauer
@Joachim Sauer: ook qua functies, wanneer je meer wilt dan alleen bekijken;) - 0xC0000022L
@ 0xC0000022L: als u wilt bekijken, vergeet dan niet view! (Wat is vi in ​​alleen-lezen modus ....) - Alan Shutko
ik gebruikte less twintig jaar geleden al zonder zorgen te maken over de omvang ten opzichte van more. - Kaz
"less is more", zoals ze zeggen - aidan


Een andere optie is:

tail -n 30 result.txt

om de laatste 30 regels van een groot bestand met de naam af te drukken result.txt.


10





Andere optie:

tail -f your_file

Het zal je de laatste tien regels laten zien your_file. Als een proces iets aan dit bestand toevoegt, ziet u het op uw terminal. man tail geeft je meer informatie tail.

Het is handig om te zien wat er met een server gebeurt wanneer u deze opdracht in een logbestand gebruikt.

druk op Ctrl-C om te stoppen als je klaar bent met kijken.


7





Met een terminal-teksteditor: nano /path/to/file/RESULTS.txt


3



"niet in een teksteditor" - Burhan Ali


Er zijn veel alternatieven om dat te doen:

Sommige van deze programma's hebben veel parameters, dus controleer dat met - help na het commando ..

  • cat filename drukt het hele bestand in één keer af
  • more/less filenamevergelijkbaar gedrag voor zie het bestand in delen
  • tail filename begin met lezen vanaf de staart van het bestand
  • grep text filename voor het filteren van resultaten

Ik hoop dat een deel van dit voor jou werkt ..


3





Veel goede opties worden hier al gegeven, maar een andere optie als je moet bewerken is emacs:

emacs -nw RESULTS.txt

misschien niet nodig -nw, afhankelijk. Het kan ook nodig zijn apt-get install emacs23 of apt-get install emacs24, of als u geen X hebt of geen afhankelijke X-afhankelijkheden wilt, apt-get install emacs23-nox of apt-get install emacs24-nox.

En in aanvulling op cat en less zoals elders vermeld, is er more. Meer is minder, omdat je een pagina tegelijk ziet en niet via de opdracht zelf kunt bladeren, maar je kunt met het terminalvenster scrollen, als je een scrolling terminal-venster hebt:

more RESULTS.txt

Als je in bash zit, heb je iets vergelijkbaars cat door te doen:

while IFS= read a;do echo "$a";done<RESULTS.txt

2





Als u alleen de bestandsinhoud wilt lezen, gaat u naar de bestandsdirectory en typt u

less RESULTS.txt

Als u het tekstbestand wilt lezen en bewerken, uit hetzelfde directorytype

nano RESULTS.txt

De -w switch in de opdracht nano kan vóór de bestandsnaam worden ingevoegd om het omwikkelen van lange lijnen te voorkomen.


2



Schrijfmodus is al geruime tijd de standaard voor nano, nu, althans in Ubuntu. U moet het nu expliciet vertellen om de alleen-lezen modus te gebruiken. - Shauna
Verschillende planeet (of nano versie) hier, denk ik. Maar -w is kort voor --nowrap ... en heeft niets te maken met schrijven, - 0xC0000022L