sobota, lutego 20, 2021

Hacky tool ;-) - workflow do Alfreda, który pozwala wykonywać różne konwersje na zawartości schowka ;-)

Ostatnio robiłem coś w pracy i było tak, w jednym miejscu miałem pewną listę (jako tekst ;-)), chciałem się upewnić, że nie ma w niej powtórzeń, a później zmienić ją w linię...

I miałem problem ;-)

Niby wiem, że kawałek z wyrzuceniem elementów z listy to:

  • wrzuć listę do schowka
  • w terminalu wykonaj:
    pbpaste | sort | uniq | pbcopy
  • wklej do edytora
Zapewne da się też jednolinijkowcem zrobić zamianę listy w linię (oddzieloną spacjami)...

Ja postanowiłem pójść inną drogą ;-)

Zrobiłem sobie dziś workflow do Alfreda ;-) który po wpisaniu tx daje mi do wyboru kilka poleceń które jestem w stanie na tym tekście zrobić ;-)


Wszystkie operacje odbywają się na zawartości schowka i do tego jeśli jestem w jakimś edytorze to worklfow będzie próbował wkleić wynik do tego edytora ;-)

Ciągle się zastanawiam czy może macro do Keyboard Maestro by nie było lepsze, ale jeszcze nie wiem, choć pewnie zaraz zrobię ;-)

Sam skrypt, którego używam do konwersji jest napisany strasznie ;-)

Np. do pobrania zawartości schowka używam takiej linii ;-)

text="\n".join(os.popen("pbpaste").readlines()).strip()

czyli Python wykonuje pbpaste i czyta jego wynik ;-)

Gdyby kogoś interesowało to tutaj co robi która opcja ;-)
sort - sortuje zawartość schowka (line by line)
unique - usuwa powtórzone elementy (distinct? ;-)) ale bez sortowania
sort | unique - robi to co dwie poprzednie razem ;-)
list2line - zmienia listę w formie wielu linii w listę rzeczy oddzielonych spacją (pewnie dodam sobie jeszcze wersję z przecinkiem ;-))
line2list - odwrotne do list2line ;-) bierze listę oddzielonych spacją cosiów i zmienia w listę w liniach
add * in front - dodaje * na początku każdej z linii ;-)
remove after first space - usuwa wszystko co jest za pierwszą spacją (nie licząc spacji wiodących, które są i tak usuwane)
wrap with " - owija każdą linie w "" :-)
pretty json - zmienia "compacted" JSONa w takiego lepiej sformatowanego ;-)

Jakby ktoś chciał przygarnąć to tutaj można ;-)





Podobne postybeta
Jak walczyć z gigantycznym kodem w Java'ie, część 1 ;-)
OOo2GD (OpenOffice.org2GoogleDocs) 1.2.2
"Aplikacyjka" ;-)
Alfred + Todoist i wysyłanie tasków do projektu, a nie tylko do Inbox'a ;-)
OOo2GD 2.1.2 i malutka poprawka :-)

Brak komentarzy:

Publikowanie komentarza