Puncte:1

Cum se controlează ieșirea comenzii „tree -F”?

drapel cn

Folosesc comanda „tree” pentru a crea un fișier text pe care îl analizez în Libre Office Calc:

arbore -ifsD --timefmt „%Y-%m-%d %T” $PWD > dirlist_tree.txt

Am adăugat opțiunea „-F” pentru a adăuga un „/” la sfârșitul liniilor de director pentru a ajuta Calc cu analizarea:

arbore -F -ifsD --timefmt „%Y-%m-%d %T” $PWD > dirlist_tree.txt

Din ceea ce am reușit să găsesc până acum, există trei caractere suplimentare pe care această opțiune le-ar putea adăuga la rezultat. Cel puțin unul dintre ei îmi provoacă unele probleme, de aceea, această întrebare:

Cum pot limita copac -F comandă astfel încât să adauge doar „/” la liniile de director și nu altele, cum ar fi „=” sau „|” sau „*”, ceea ce face în prezent?

Mulțumiri,

BabaG

Puncte:1
drapel in

A analiza copac ieșire, ar trebui să utilizați o ieșire care poate fi citită de mașină, de ex. json cu copac -J:

De exemplu. parsing la CSV folosind Piton, pentru a deschide direct în Libre Office Calc:

tree_to_csv.py

#!/usr/bin/env python3

importați json,sys,csv
date = json.load(sys.stdin)

elemente = []

def get_element(el):
    elemente globale
    dacă „mărimea” în el:
        elemente.append(el)
    if el["tip"] == "director":
        pentru sub_el în el["conținut"]:
            get_element(sub_el)

pentru el în date: 
    get_element(el)

fieldnames = ['dimensiune', 'ora', 'nume']
scriitor = csv.DictWriter(sys.stdout, fieldnames=fieldnames, extrasaction='ignore')

writer.writeheader()

pentru el în elemente:
    if el["tip"] == "director":
        el["nume"] += '/'
    writer.writerow(el)

Alerga:

arbore -Jsf --timefmt „%Y-%m-%d %T” | python tree_to_csv.py
BabaG avatar
drapel cn
Wow! Mulțumesc pentru asta, pLumo. Este mult mai mult decât mă așteptam. Speram să-mi păstrez procesul mai mult sau mai puțin așa cum este, mai degrabă decât să trec la apelarea unui script Python. Speram că ar putea exista un calificativ simplu pe care l-aș putea adăuga, care să-i spună lui „-F” să omite „=”, „|” și „*” și să aplice doar „/” liniilor de director. Acest lucru îmi va lua mult să mă regândesc, deoarece nu sunt foarte un scriptor/programator.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.