lissper
Anmeldungsdatum: 9. November 2011
Beiträge: 34
|
Hallo All Mangels Exportfunkton in Appel-Notizen habe ich mir einen Einzeiler zusammengestellt. Mit dem kann ich via Terminal und Copy/Paste meine i-Notizen aus dem Browser auskopieren und als Dokument in meinem Home Verzeichnis ablegen. Der Einzeiler legt mit eine neue Datei an, mit einer Zufallszahl im Dateinamen, die Nummer dient mir als ID. Sendet dann den generirte ID in die Zwischenablage, so das ich mit Past den ID-Namen in die Text Datei einfügen kann.
| cat >>$RANDOM.txt && ls -t | head -n 1 | xsel -b
|
Frage: Damit der erzeuge Dokumentenname gleich mit in die TXT Datei geschrieben wird, suche ich einen Zusatzbefehl. Kennt jemand eine elegant Lösung? Besten Dank im Voraus
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11260
Wohnort: München
|
Merkt dir doch einfach deine ID (die würde ich aber lieber mit uuidgen erzeugen, denn die Ergebnisse von $RANDOM wiederholen sich öfter als einem Lieb ist) bzw. den Dateinamen als Variable:
| filename="$(uuidgen).txt"; echo "$filename" >> "$filename"
|
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
lissper schrieb: | cat >>$RANDOM.txt && ls -t | head -n 1 | xsel -b
|
Was soll dieser Code machen ?? - verrate uns doch bitte lieber, was Du genau vorhast, statt uns mit "vermutlich funktionierendem Code" ( zum selber raten ... 😬 ) zu bombadieren. Also:
Um einen Zufallsnamen zu erzeugen, würde ich ja lieber tempfile nehmen: Deine Methode mit der Zufallszahl erzeugt regelmäßig immer mal Kollisionen, bei tempfile ist das ausgeschlossen. Praktischerweise ziehst Du den Dateinamen gleich in eine Variable. Den Rest kannst Du mit Shell-Mitteln machen, mit awk , nach Belieben jeder anderen Hochsprache, oder sogar mit grep : track@track:~$ datei=$(tempfile)
track@track:~$ echo "Ich heiße $datei" > $datei
track@track:~$ cat $datei
Ich heiße /tmp/filesECVvv
track@track:~$ grep -H . $datei
/tmp/filesECVvv:Ich heiße /tmp/filesECVvv
LG, track
|
lissper
(Themenstarter)
Anmeldungsdatum: 9. November 2011
Beiträge: 34
|
Mit diesem Befehl arbeite ich zur Zeit in der Shell: Mit cat Erzeugt ich eine neue TXT Datei (mit Zufallsname) und es öffne gleich in der Shell den Cat-Editer, wo ich mit Copie/Past meinen Text einfügen kann. Mit Enter und Ctrl+D schlisse ich ab und habe die Datei auf meiner HD erstellt. Soweit so gut. Das Programm xsel, nimmt mein erzeugter Datei in die Zweischenablage auf, so dass ich mit Past den Datei-Name in das Dokument schreiben kann. Ich denke mir, dass das in einem Schritt zu machen ist. : liss@per:~$ cat >>$RANDOM.txt && ls -t | head -n 1 | xsel -b Die Ausgabe dieses Schnipseln : will ich automatisch in das eben erzeugte TXT-Dokument einfügen lassen. (wenn es machbar ist die Testausgabe an erster Stelle, kann aber auch einfach angefügt werden.) Danke
|
lissper
(Themenstarter)
Anmeldungsdatum: 9. November 2011
Beiträge: 34
|
Hallo Track! Supert, Danke für den Tipp mit den Tempfile. Ich habe etwas herumgeprobt und es klappt, wie ich mit das vorstelle. Mein neuer Einzeiler sieht wie folgt aus:
liss@per:~$ datei=$(tempfile) && echo "$datei" > $datei && grep -H . $datei && cat >>$datei
So habe ich ein Bennante Textdatei und habe kann durch cat >>$datei mit meinem Text füllen. Frage: wie kriege ich die Datei nun aus dem Temp-Ordner in ~/Ordner geschriene? Besten Dank
Linus
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
lissper schrieb: Frage: wie kriege ich die Datei nun aus dem Temp-Ordner in ~/Ordner geschriene?
Kleiner Tip: die man -page lesen wirkt Wunder ... 😉 (beachte die Option "-d" → allerdings musst Du außerhalb von /tmp die Datei hinterher selber wieder entsorgen !) LG, track
|
lissper
(Themenstarter)
Anmeldungsdatum: 9. November 2011
Beiträge: 34
|
Hi Track Ja Danke, leider verstehe ich die Theorie oft erst nachdem ich über praktische Beispiel stürze!! 😀 😀
tja... Meine Lösung sieht so aus liss@per:~$ datei=$(tempfile) && echo "$datei" > $datei && grep -H . $datei && cat >>$datei && sudo cp $datei ~/$datei.txt Das geht! Ich habe dann eine Text Datei (leider) mit root Rechen in meinem lokalen tmp Ordner. Ich will diese Textdateien als Import von meinen iCloud Notizen nutzen. Appel stellt keine Export-Funktion zu Verführung. Wirklich elegant ist meine Lösung nicht, muss mich noch näher mit dieser 'tempfile' Option "-d" Auseinandersetzen. Meine ersten Versuche sind gescheitert... Danke! LG Linus
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
Was willst Du eigentlich genau machen ? Im Moment sehe ich nur Deine etwas "wilden" Versuche eine Datei anzulegen und irgendwie was aus der Zwischenablage da rein zu kopieren ... Und nachher soll es irgendwie auch wieder zurück in die Zwischenablage. - - (Mit der Nebenwirkung, dass sich in Deinem Home-Verzeichnis im Laufe der Zeit massenweise Dateileichen ansammeln) Aber was willst Du tatsächlich erreichen ? (denn womöglich braucht man die Datei ja gar nicht ... ?) track
|
lissper
(Themenstarter)
Anmeldungsdatum: 9. November 2011
Beiträge: 34
|
Ich habe den Browser geöffnet und habe mich in die iCloud eingeloogt. Nun will ich meine Notizen, die ich im iPot angelegt habe auf mein Ubuntu in einen Ordner runter holen. Notiz für Notiz, via Copy und in der Shell mit Past. Das einfach mit meinen letzter Einzeiler aus der History: Enter klicken, Text mit Past ins Terminal laden, mit Enter und Ctrl+D einfügen. Fertig ist das Dokument! Der iCloud Notiz verpasse ich dann den selben Titel, das muss ich manuel machen. Bash soll dem Textdokument eine Eindeutigen Filename quasi als ID und das gleich in das Dokument einschreiben. So habe ich Text später auf beiden Systemen wiederfinden. Wahrscheinlich könnte ich mich mit wget bei iCloud anmelden und meine Notizen in einem Rutsch herunterladen. Die Notizen brauche ich auf meinem Linux-System damit ich mit Scribus weiterarbeiten kann.
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11260
Wohnort: München
|
Man könnte sich den Text auch mit xsel aus der Zwischenablage holen statt cat als Editor zu missbrauchen. Den Sinn für eine temporäre Datei sehe ich nicht wirklich, wenn die Datei dann eh in einem Ordner im HOME-Verzeichnis landen soll:
filename="$HOME/Ordner/$(uuidgen).txt"; echo "$filename" > "$filename"; xsel -bo >> "$filename"; echo "$filename" | xsel -bi
|
lissper
(Themenstarter)
Anmeldungsdatum: 9. November 2011
Beiträge: 34
|
Pahhh! Ich bin sprachlos!!! Das übertrifft meine kühnsten Erwartungen, das ist es!!! Danke @seahawk1986! Nun brauche ich bloss noch ein Skript, das sich anstelle von mir an den Computer setzt!! 😀 😀 😀
|