|
|
Visa innehåll i textfiler
Kommando | | Exempel | | Beskrivning |
cat | | cat a.txt | | Skriver ut filen a.txt på skärmen. |
tac | | tac a.txt | | Skriver ut raderna underifrån och upp från a.txt. |
more | | more a.txt | | Skriver ut filen a.txt på skärmen en sida i taget. |
less | | less a.txt | | Skriver ut filen a.txt på skärmen en sida i taget. |
head | | head -50 a.txt | | Skriver ut de 50 första raderna i a.txt. |
tail | | tail -100f a.txt | | Skriver ut de 100 sista raderna i a.txt, och fortsätter skriva ut eventuella nya rader. |
|
På denna sida beskrivs kommandon med vilka man kan visa innehållet i textfiler. Ett gemensamt drag för dessa kommandon är att de inte förändrar den fil de använder sig av, de skriver bara ut något på skärmen. Om du vill spara t. ex. en sorterad fil använder du högerpilen (större än) för att få resultatet att hamna i en ny fil:
[olle@dev1]$ sort a.txt > b.txt
| Kommandot ovan sparar den sorterade versonen av a.txt i b.txt.
cat
Flagga | | Betydelse | | Beskrivning |
cat -A a.txt | | all | | Samma som -ETv. |
cat -b a.txt | | number nonblank | | Numrerar de icke tomma raderna (som nl). |
cat -E a.txt | | end | | Visar radslut som $. |
cat -n a.txt | | number | | Numrerar raderna. |
cat -T a.txt | | tab | | Visar tabbar som ^I. |
cat -v a.txt | | visual | | Visar andra icke synliga tecken. |
Kommandot cat är det vanligaste kommandot för att visa en textfils innehåll på skärmen, och för att skapa korta filer. Man tycker kanske att print borde vara ett bättre namn, men cat står för concaternate vilket betyder länka samman. Om du skriver:
[olle@dev1]$ cat a.txt b.txt |
så förstår du varför. cat skriver nämligen ut alla rader i fil a.txt och fortsätter sedan direkt med att skriva ut raderna i fil b.txt.
Om du vill slå ihop a.txt och b.txt till en ny fil c.txt skriver du följande:
[olle@dev1]$ cat a.txt b.txt > c.txt |
Det finns ett finurligt sätt att skapa en ny textfil i LINUX. Det gör man genom att inte specifiera den fil som ska skrivas ut, bara den som ska skapas.
[olle@dev1]$ cat > c.txt
hej alla
glada
Ctrl+d
|
Du avslutar inmatningen med Ctrl+d (håll ner Ctrl och d samtidigt), vilket betyder END OF FILE i LINUX.
Din nya fil ser ut såhär:
[olle@dev1]$ cat c.txt
hej alla
glada
|
Du kan lägga till mer text i c.txt genom:
[olle@dev1]$ cat >> c.txt
katter
Ctrl+d
|
Nu ser c.txt ut såhär:
[olle@dev1]$ cat c.txt
hej alla
glada
katter
|
Som du ser behöver du inte kunna något mer kommando än cat, eftersom det både kan skriva ut och skapa filer.
tac
Kommandot tac är cat baklänges. Den skriver nämligen också ut filer men uppochner.
[olle@dev1]$ tac c.txt
katter
glada
hej alla
|
more
Problemet med cat är att man inte hinner läsa filen om den är större än att hela filen syns på skärmen. I de fall man vill läsa en fil kan man använda kommandot more. När man väl har startat more navigerar man upp och ned i filen med följande kommandon:
Kommandon | | Beskrivning |
Mellanslag | | Hoppa ner en sida. |
b | | Hoppa tillbaka en sida. |
/foo | | Sök efter ordet foo. Sökordet kan vara ett reguljärt uttryck. |
n | | Sök efter nästa förekomst av senaste reguljära uttryck. |
q | | Avsluta more. |
Om man inte kommer att man ska trycka på q för att komma ur more kan man ju alltid trycka Ctrl+c.
less
Flagga | | Betydelse | | Beskrivning |
less -S a.txt | | | | Raderna bryts inte, även om den inte får plats. Låga rader försvinner alltså ur skärmen. |
less fungerar som more, d.v.s. skriver ut en sida i taget, men har ett utökat utbud av kommandon. Kommandona är nästan identiska med de som används i vi. less öppnar snabbt stora filer eftersom den inte behöver läsa hela filen innan första sidan visas. Nu listar jag de kommandon som används för att ta sig runt i filen:
Kommandon | | Beskrivning |
Mellanslag | | Hoppa ner en sida. |
b | | Hoppa tillbaka en sida. |
g | | Hoppa till första raden. |
17g | | Hoppa till rad 17. |
G | | Hoppa till sista raden. |
17% | | Hoppa till 17% av filen. |
pil ner | | Hoppa ner en rad. |
pil upp | | Hoppa upp en rad. |
pil höger | | Hoppa en tab till höger (Om du startat less med -S flaggan). |
pil vänster | | Hoppa en tab till vänster (Om du startat less med -S flaggan). |
Nedan har vi en lista på övriga kommandon:
Kommandon | | Beskrivning |
/foo | | Sök nedåt i filen efter första förekomsten av foo. |
?foo | | Sök uppåt i filen efter första förekomsten av foo. |
n | | Sök efter nästa förekomst av senaste reguljära uttryck. |
N | | Sök i motsatt riktning efter nästa förekomst av senaste reguljära uttryck. |
q | | Avsluta less. |
v | | Starta vi för att editera filen. Skriv :q för att hoppa ur vi. |
= | | En statusrad ploppar upp som visar var man befinner sig i filen. |
Om man inte kommer på att man ska trycka på q för att komma ur less kan man ju alltid trycka Ctrl+c.
head
Flagga | | Betydelse | | Beskrivning |
head -50 a.txt | | | | Visar de 50 första raderna i a.txt. |
Detta kommando skriver ut de 10 första raderna i en fil. Ofta arbetar man med stora filer, då finns det ingen vits med att använda cat, eftersom cat inte väntar utan fortsätter att skriva ut hela filen utan att du hinner läsa något. Du kan välja att se ett annat antal rader än 10 genom att skriva minus och antalet rader. Om du bara vill se 2 rader kan du skriva:
[olle@dev1]$ head -2 c.txt
hej alla
glada
|
tail
Flagga | | Betydelse | | Beskrivning |
tail -50 a.txt | | | | Visar de 50 sista raderna i a.txt. |
tail -50f a.txt | | follow | | Visar de 50 sista raderna i a.txt och alla nya rader när filen växer. |
Tail fungerar som head men tvärt om. Här skriver man ut de sista raderna i en fil. Du kan på samma sätt som i head bestämma antalet rader med minus och ett tal.
[olle@dev1]$ tail -2 c.txt
glada
katter
|
tail används framför allt till att titta på slutet av loggfiler för att se de senaste händelserna. Ofta kan det vara bra att tail skriver ut nya rader samtidigt som de skrivs in i loggfilen. Detta görs med flaggan -f (=follow). Om du t. ex. alltid vill se de 50 senaste raderna i c.txt skriver du:
[olle@dev1]$ tail -50f c.txt
hej alla
glada
katter
Ctrl+C
|
Som du ser kommer inte prompten tillbaka förrän du avslutar kommandot genom Ctrl+C. Om någon annan process skriver till filen c.txt innan du avbryter med Ctrl+C kommer du se de nya raderna dyka upp på skärmen.
|
| |
|