Sida 1 av 1

Textdokument. ( Löst)

Postat: 19 maj 2009, 11:11
av TAPIR
Om jag skriver echo > tapir så skapas det ett textdokument i hemmapen,om jag vill fylla på med text så skriver jag echo text >> tapir,för att läsa texten skriver jag cat tapir.Frågan är finns det andra kommando som gör det samma.

Re: Textdokument.

Postat: 19 maj 2009, 11:22
av andol
Det finns en massa kommandon som kan användas för att manipulera innehållet eller outputen utav textfiler. Sålunda lite svårt att svara på frågan utan att veta mer precist vad det är du vill åstadkomma. Fast är du mer generellt nyfiken så kan jag ju alltid tipsa dig om att titta på kommandona sed och grep.

Re: Textdokument.

Postat: 19 maj 2009, 13:24
av webaake
touch tapir
skapar också ett tomt dokument med namnet tapir.

Re: Textdokument.

Postat: 19 maj 2009, 16:50
av TAPIR
webaake skrev.
touch tapir
skapar också ett tomt dokument med namnet tapir.

Hur skriver jag för att fylla på med text?

Re: Textdokument.

Postat: 19 maj 2009, 17:20
av janne-5011
cat blabla>>tapir
vill du ta text från filen test.txt til filen tapir blir det
cat test.txt>>tapir


TAPIR skrev:webaake skrev.
touch tapir
skapar också ett tomt dokument med namnet tapir.

Hur skriver jag för att fylla på med text?

Re: Textdokument.

Postat: 19 maj 2009, 17:21
av webaake
echo "texten som skall in i dokumentet" >> tapir

(PS du har väl testat den enkla editorn nano?)

Re: Textdokument.

Postat: 19 maj 2009, 20:58
av TAPIR
Janne-5011 skrev.
cat blabla>>tapir
vill du ta text från filen test.txt til filen tapir blir det
cat test.txt>>tapir

Det fungerar inte cat läser texten men läger inte in det i tapir

$ cat blabla >> tapir
cat: blabla: Filen eller katalogen finns inte

Re: Textdokument.

Postat: 19 maj 2009, 21:08
av janne-5011
sorry cat och >> fungerar om du redan har en textfil som du vill lägga till innehållet från till en annan fil. Mitt hjärnsläpp ::)

Kod: Markera allt

echo blabbla>>tapir
funkar.
TAPIR skrev:Janne-5011 skrev.
cat blabla>>tapir
vill du ta text från filen test.txt til filen tapir blir det
cat test.txt>>tapir

Det fungerar inte cat läser texten men läger inte in det i tapir

$ cat blabla >> tapir
cat: blabla: Filen eller katalogen finns inte

c

Re: Textdokument.

Postat: 21 maj 2009, 09:58
av David Andersson
Se man kommandot, om du vill kolla lite mer var alla kommandon som nämnts här gör. Exempel man cat

Skriva flera rader till en textfil utan att använda en texteditor:

Kod: Markera allt

cat >filnamn.txt
Hej Mamma
Grattis på morsdagen
Hejdå
Control-d
Det sägs att riktiga hackers skriver program i binärkod på det här sättet, utan att använda vare sig texteditor eller kompilator. :)

Re: Textdokument.

Postat: 21 maj 2009, 10:23
av David Andersson
(Varning: jättelångt inlägg om less)
TAPIR skrev:för att läsa texten skriver jag cat tapir.Frågan är finns det andra kommando som gör det samma.
För att läsa texter i terminalen är less väldigt vanligt. Man går ur less med q. Man bläddrar frammåt med mellanslag och bakåt med b och rulla med uppåtpil och neråtpil. Man kan söka i texten med /.

Kod: Markera allt

less filnamn.txt
Den kan användas för att läsa innehållet i en eller flera textfiler (skriv :n för att hoppa till nästa fil):

Kod: Markera allt

less fil1.txt fil2.txt

Kod: Markera allt

less fil*.txt
Inte bara filer. Man kan använda less för att bläddra direkt i output från ett annat program. Exempel: Om det är många filer i en mapp så kan output från ls vara svår att överblicka. Pipa den till less

Kod: Markera allt

ls -al | less
I Ubuntu är less konfigurerat att hantera komprimmerade filer och arkiv på ett intelligent sätt. Det vanliga för att titta i en komprimmerad textfil utan att skapa en uppackad fil är

Kod: Markera allt

zcat textfil.txt.gz | less
men man kan ange en komprimmerad fil direkt som argument till less

Kod: Markera allt

less textfil.txt.gz
Samma sak med arkivfiler. Less visar innehållet i arkivet i form av en lista med filnamn

Kod: Markera allt

less filnamn.zip

Kod: Markera allt

less filnamn.tar

Kod: Markera allt

less filnamn.tar.gz
Utan den intelligensen hade man fått skriva

Kod: Markera allt

unzip -l filnamn.zip | less

Kod: Markera allt

tar tvf filnamn.tar | less

Re: Textdokument.

Postat: 21 maj 2009, 10:42
av andol
Hade faktiskt ingen aning om att GNU less kunde utföra dylika partytrick. Tack för tipset.

Re: Textdokument.

Postat: 21 maj 2009, 11:15
av TAPIR
Tack så mycket David Andersson för inlägen om "man cat" och less ,det var intresant läsning. Jag kopierar och spar.

Re: Textdokument.

Postat: 25 maj 2009, 15:41
av per9000
Glöm inte "underbara" tee. Den heter tee för den ser ut som ett T. Den tar input och stoppar in i fler outputs.

Kod: Markera allt

input ---> tee --+-> output1
                 |
                 |
                 V
              output2
Detta exempel låter "foobar" passera rakt igenom och dessutom till filen /tmp/foo

Kod: Markera allt

$echo foobar | tee /tmp/foo
foobar

$cat /tmp/foo
foobar
/P

EDIT: fixade typo.

Re: Textdokument.

Postat: 25 maj 2009, 17:05
av per9000
webaake skrev:[..]du har väl testat den enkla editorn nano?[...]
Man kan inte annat än älska nano - kommer med undo any time now (kan fås från källkod redan nu tror jag).

/P

Re: Textdokument.

Postat: 28 maj 2009, 14:26
av erik_persson
andol skrev:Hade faktiskt ingen aning om att GNU less kunde utföra dylika partytrick. Tack för tipset.
Om du tittar i man less så ser du att less kör det som anges av variabeln LESSOPEN innan less körs.
Kör
echo $LESSOPEN
se ser du var körs innan less startas.

Titta sedan i filen som anges, dvs /usr/bin/lesspipe, så ser du hur olika filer hanteras.

För övrigt är nog det enklaste sättet att snabbt få in lite data i en fil att köra:

cat > filnamnet
eller
cat >> filnamnet

cat utan argument läser från stdin, dvs från tangentbordet, så efter att ovanstående skrivits är det bara att skriva det som önskas. Bryt med ctrl-d (dvs end-of-file)

/erik