Puncte:4

Cum fac un tabel Markdown de două coloane dintr-o listă ale cărei elemente alternează cu fiecare coloană?

drapel cn

Am o listă lungă de abrevieri comune pentru cuvintele din titlurile periodice. În listă, cuvântul complet este urmat de abrevierea acestuia. De exemplu:

  • Administrare
  • Admin.
  • Aplicat
  • Aplic.
  • Administrativ
  • Administrator.
  • Aproximativ
  • Aproximativ.

Vreau să transform lista într-un tabel Markdown, astfel:

Cuvânt Abreviere
Administrare Admin.
Aplicat Aplic.

Problema este că a face asta manual ar dura o veșnicie. Deci, caut o modalitate de a face asta mai repede. Dacă ajută, toate formele prescurtate se termină cu punct (.).

Am cautat pe net dar nu am gasit nimic pentru asta. De aceea intreb aici. Orice ajutor?

Puncte:5
drapel zw

Să presupunem că avem un fișier de intrare cu lista de la întrebarea dvs. O putem completa folosind comanda de mai jos:

cat <<EOF > cuvinte+abbrs.txt
Administrare
Admin.
Aplicat
Aplic.
Administrativ
Administrator.
Aproximativ
Aproximativ.
EOF

Crearea tabelului Markdown este posibilă pe Ubuntu folosind scripturi simple, așa cum se arată mai jos:

  • metoda proastă pas cu pas

    # scrie antetul tabelului
    echo "**Cuvânt** | **Prescurtare**" > table.md
    echo "- | -" >> table.md
    
    # extrage linii impare ca cuvinte în fișierul words.txt
    awk 'NR%2==1' cuvinte+abbrs.txt > cuvinte.txt
    # extrageți linii egale ca abrevieri în fișierul abbrs.txt
    awk „NR%2==0” cuvinte+abbrs.txt > abbrs.txt
    
    # combina coloanele din word.txt și abbrs.txt cu „|” separator
    paste -d '|' cuvinte.txt abbrs.txt >> table.md
    
  • metoda inteligentă cu o singură linie (mulțumită lui @steeldriver)

    { printf '%s\n' '**Cuvânt** | **Abreviere**' '-|-'; paste -d '|' - - < cuvinte+abbrs.txt; } > table.md
    

Veți obține fișierul Markdown cu următorul conținut:

$ masa pisicilor.md 
**Cuvânt** | **Abreviere**
- | -
Administrare|Admin.
Aplicat|Aplicat.
Administrativ|Administrator.
Aproximativ|Aprox.

Deci va fi redat în HTML ca

Cuvânt Abreviere
Administrare Admin.
Aplicat Aplic.
Administrativ Administrator.
Aproximativ Aproximativ.

Mai multe informații despre instrumentele folosite:

drapel hr
Nu ai putea evita complet awks-urile și fișierele intermediare aici? ex. `{ printf '%s\n' '**Cuvânt**|**Abrevierea**' '-|-'; paste -d '|' - -
N0rbert avatar
drapel zw
@steeldriver Mulțumesc, a adăugat. Ați putea, vă rog, să-mi recomandați un manual sau o carte online cuprinzătoare AWK și Bash?
drapel hr
De obicei, mă refer la [Ghidul utilizatorului GNU Awk](https://www.gnu.org/software/gawk/manual/html_node/index.html#SEC_Contents) pentru lucruri awk (este destul de bine despre evidențierea unde gawk diferă de alte implementări). Pentru bash în sine, nu sunt sigur - îmi place [BashGuide](https://mywiki.wooledge.org/BashGuide) - evident că pagina de manual este cuprinzătoare, dar mi se pare dificil de navigat.
N0rbert avatar
drapel zw
Mulțumesc, am adăugat ambele pagini la marcaje. https://tldp.org/LDP/abs/html/abs-guide.html arată, de asemenea, bine.
Puncte:3
drapel us

Dacă puteți utiliza Pandoc, se poate converti din CSV în Markdown.Presupunând că aveți un fișier de cuvinte câte unul pe rând în răspunsul lui N0rbert, îl puteți converti într-un CSV folosind pastă -d, - -, apoi trimiteți-l la Pandoc:

% (printf „%s\n” Abrevierea cuvântului; fișier de intrare cat) | pastă -d, - - | pandoc -f csv -t markdown_phpextra
| Cuvânt | Abreviere |
|----------------|---------------|
| Administrație | Admin. |
| Aplicat | Aplic. |
| Administrativ | Administrator. |
| Aproximativ | Aproximativ. |

Dăruind:

Cuvânt Abreviere
Administrare Admin.
Aplicat Aplic.
Administrativ Administrator.
Aproximativ Aproximativ.

(Probabil că nu este necesară o formatare suplimentară a titlului, deoarece anteturile de tabel sunt de obicei formatate diferit.)

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.