tse - Einführung in den Text Stream Editor in Python

Einführung

Dieser Artikel ist der 12. Tagesartikel von Shell Script Adventskalender 2015.

Hier das Textformatierungstool "tse" von Python, erstellt von Mr. Ishimoto @atsuoishimoto Ich möchte vorstellen.

Ausführungsumgebung

Was ist tse?

Sie können die Details verstehen, indem Sie sich die Folien ansehen, die auf der diesjährigen PyCon JP 2015 angekündigt wurden. tse - Textformatierungsdienstprogramm von Python

Sehr einfach Was ist tse? "Python soll für Einzeiler ungeeignet sein, aber ich möchte trotzdem Textverarbeitung oder Python machen." Als Antwort auf die Anfrage "CLI-Tools zum Ausführen von Operationen wie ** sed ** und ** awk ** in Python" ist.

Sie können es mit pip installieren.

pip install tse

Gute Punkte von tse

Danach ist es meiner Meinung nach schneller, die eigentliche Verarbeitung zu sehen, daher werde ich einige davon behandeln.

Fordern Sie das Problem der Shell Art-Lernsitzung heraus

Die 17. Junk Hall ist eine Lernsitzung, die die Muschelkunst übernommen hat

https://blog.ueda.asia/?p=6454

Q1

Die folgenden Daten

$ cat data1
a 1
b 4
a 2
a 3
b 5

Lassen Sie es uns wie folgt konvertieren.

a 1 2 3
b 4 5

Wenn Sie über freie Kapazität verfügen, versuchen Sie das folgende JSON-Format.

{a:[1,2,3],b:[4,5]}

Antworten

$cat data1 | tse -b 'd={"a": "", "b": ""}' -s '' 'd[L1] = d[L1] + " " + L2' -e 'for k, v in sorted(d.items()):print(k + v)'
a 1 2 3
b 4 5
$cat data1 | tse -m json -b 'd={"a": [], "b": []}' -s '' 'd[L1].append(int(L2))' -e 'print(json.dumps(sorted(d.items())))'
[["a", [1, 2, 3]], ["b", [4, 5]]]

18. Möchten Sie Knoblauch setzen? Shell Art Study Session

https://blog.ueda.asia/?p=6877

Q1 In der folgenden Datei ist die erste Spalte der Schlüssel und die zweite Spalte der Wert. Suchen Sie jedoch nach einem Schlüssel, der sowohl "Oton" - als auch "Okan" -Werte enthält.

$ cat text 
 001 Oton
 001 Oton
 001 Akan
 002 Okan
 003 Oton
 003 Yakan
 003 Okan
 004 Okan
 005 Oton
 005 Mikan
 005 Akan

Antworten

$uniq text | tse -s 'Oton|Okan' 'print L1' | uniq -d
003

19. Shell Art 3. Jahrestag Studiensitzung

https://blog.ueda.asia/?p=7146

Q2 Zwei natürliche Zahlen

$ echo 1 4

Nach der Ausgabe mit Echo wie

4
3
2
1
2
3
4

Versuchen Sie, die Zahlen dazwischen einzugeben.

Antworten

$echo 1 4 | tse -s '' 'for s in range(int(L1), int(L2)+1)[::-1]: print(s)' 'for s in range(int(L1)+1, int(L2)+1): print(s)'

abschließend

Ich habe versucht, tse grob zu verwenden, aber es wurde einfach, einen Liner mit der Syntax von Python zu schreiben, an die ich gewöhnt bin! Ich habe das Gefühl, dass ich mich an das Einzeilerfeld gewöhnen konnte, vor dem ich Angst hatte, es zu vermeiden ^^

Morgen ist [@zayarwinttun] an der Reihe (http://qiita.com/zayarwinttun)!

Recommended Posts

tse - Einführung in den Text Stream Editor in Python
Sprechen mit Python [Text zu Sprache]
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Einführung in Vektoren: Lineare Algebra in Python <1>
Einführung in die Überprüfung der Wirksamkeit Kapitel 1 in Python geschrieben
Clustertext in Python
Einführung in die Überprüfung der Wirksamkeit Kapitel 3 in Python geschrieben
Geschrieben "Einführung in die Effektüberprüfung" in Python
Einführung in die Python-Sprache
Textverarbeitung mit Python
Einführung in OpenCV (Python) - (2)
Einführung in die Überprüfung der Wirksamkeit Kapitel 2 in Python geschrieben
Einführung in die lineare Algebra mit Python: A = LU-Zerlegung
Python Open CV hat versucht, das Bild im Text anzuzeigen.
UTF8-Textverarbeitung mit Python
Einführung in Python Django (2) Win
So löschen Sie stdout in Python
Melden Sie sich auf der Website in Python an
Einführung in die serielle Kommunikation [Python]
Entwurfsmuster in Python: Einführung
[Einführung in Python] <Liste> [Bearbeiten: 22.02.2020]
Einführung in Python (Python-Version APG4b)
Eine Einführung in die Python-Programmierung
Wie man in Python entwickelt
Einführung in Python For, While
Post an Slack in Python
[Einführung in die Udemy Python3 + -Anwendung] 36. Verwendung von In und Not
Einführung in die Effektüberprüfung Schreiben der Kapitel 4 und 5 in Python
Konvertieren Sie eine Excel-Datei für verschiedene Zwecke in Python in Text
[Einführung in die Udemy Python3 + -Anwendung] 58. Lambda
[Einführung in die Udemy Python3 + -Anwendung] 31. Kommentar
[Python] Wie man PCA mit Python macht
Einführung in die Python Numerical Calculation Library NumPy
Trainieren! !! Einführung in Python Type (Type Hints)
[Einführung in Python3 Tag 1] Programmierung und Python
GOTO in Python mit erhabenem Text 3
Konvertieren Sie Markdown in Python in PDF
So sammeln Sie Bilder in Python
[Einführung in Python] <numpy ndarray> [edit: 2020/02/22]
Einführung in Python Hands On Teil 1
[Einführung in Python3 Tag 13] Kapitel 7 Zeichenfolgen (7.1-7.1.1.1)
Verwendung von SQLite in Python
[Einführung in Python] So analysieren Sie JSON
[Einführung in die Udemy Python3 + -Anwendung] 56. Abschluss
Im Python-Befehl zeigt Python auf Python3.8
[Einführung in Python3 Tag 14] Kapitel 7 Zeichenfolgen (7.1.1.1 bis 7.1.1.4)
Einführung in Protobuf-c (C-Sprache ⇔ Python)
[Einführung in die Udemy Python3 + -Anwendung] 59. Generator
Versuchen Sie, Trace in Python zu berechnen
Extrahieren Sie mit Python Text aus Bildern
[Einführung in Python3 Tag 15] Kapitel 7 Zeichenfolgen (7.1.2-7.1.2.2)
[Einführung in Python] Verwenden wir Pandas
Sortieren Sie große Textdateien in Python
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
6 Möglichkeiten zum Stringen von Objekten in Python
Verwendung von PubChem mit Python
[Einführung in Python] Verwenden wir Pandas
[Einführung in die Udemy Python3 + -Anwendung] Zusammenfassung
Lesen und Schreiben von Text in Python