Kaip automatiškai tvarkyti terminalo užrašus su Bash skriptu


 

Įvadas

Sveiki, šiame įraše noriu pasidalinti paprastu, tačiau labai naudingu Bash skriptu, skirtu automatiškai tvarkyti ir saugoti užrašus tiesiai iš terminalo. Šis scenarijus yra puikus įrankis tiems, kurie daug laiko praleidžia terminale ir nori greitai bei patogiai užsirašyti svarbias pastabas ar užduotis.

Kam skirtas šis scenarijus?

Šis scenarijus skirtas visiems, kurie nori turėti centralizuotą vietą savo užrašams, ypač tiems, kurie naudojasi Obsidian arba panašiomis užrašų tvarkymo programomis. Tai yra puikus būdas organizuoti ir struktūrizuoti savo mintis bei užduotis, nereikalaujantis sudėtingų įrankių ar programų.

Kaip veikia šis scenarijus?

Skriptas tikrina, ar failas terminal_notes.md egzistuoja. Jei ne – jis sukuriamas ir inicializuojamas su pradiniu formatu. Jei failas jau egzistuoja, skriptas arba prideda naują įrašą, arba parodo esamus užrašus, priklausomai nuo pateiktų argumentų.

Kaip naudotis?

  1. Inicializacija: Kai pirmą kartą paleidžiate skriptą, jis sukuria naują failą terminal_notes.md su pradiniu formatu.
  2. Pridėti naują užrašą: Paleiskite skriptą su norimu užrašu kaip argumentą. Pavyzdžiui: notes "Tai yra mano pirmasis užrašas".
  3. Peržiūrėti užrašus: Paleiskite skriptą be jokių argumentų: notes.

Funkcija, kurią naudoju .bashrc faile:


notes() {
  local tn="$HOME/Obsidian/notes/terminal_notes.md"
  local header_line_count=7  # Eilučių skaičius iki pirmo įrašo
  local first_line_after_header=$((header_line_count + 1))
 
  # Patikrinkite, ar failas jau egzistuoja
  if [ ! -f "$tn" ]; then
    # Lentelės pradžia (rašoma tik pirmą kartą)
    {
      echo "---"
      echo "tags:"
      echo "- terminalas"
      echo "- užrašai"
      echo "---"
      echo "| Data | Užrašas |"
      echo "|---|---|"
    } > "$tn"
  fi
 
  if [ -z "$1" ]; then
    # Jei argumentas tuščias, parodykite failo turinį
    cat "$tn"
  else
    # Gaukite dabartinę datą ir laiką
    local current_time
    current_time=$(date +"%Y-%m-%d %H:%M:%S")
 
    # Sukurkite naują failą su nauju įrašu po antraštėmis
    {
      head -n "$header_line_count" "$tn"
      echo "| $current_time | $* |"
      tail -n +"$first_line_after_header" "$tn"
    } > "$tn.tmp"
 
    # Pakeiskite originalų failą naujuoju
    mv "$tn.tmp" "$tn"
  fi
}

Privalumai

  • Paprastumas: Skriptas yra labai paprastas ir lengvai suprantamas.
  • Automatizavimas: Nereikia rankiniu būdu kurti failų ar rūpintis formatavimu.
  • Integracija su Obsidian: Idealiai tinka naudoti kartu su Obsidian ar kitomis panašiomis programomis.

Trūkumai

  • Priklausomybė nuo Bash: Veikia tik sistemose, kuriose yra Bash.
  • Nėra išplėstinių funkcijų: Šis skriptas yra bazinis ir neturi sudėtingesnių funkcijų, tokių kaip užrašų redagavimas ar paieška.

Galimi patobulinimai

  • Paieškos funkcija: Galima pridėti funkciją, leidžiančią ieškoti užrašų pagal raktažodžius.
  • Redagavimo funkcija: Galima pridėti funkciją, leidžiančią redaguoti esamus užrašus.
  • Daugiau tag’ų: Galima pritaikyti daugiau tag’ų pagal poreikį.

Išvados

Šis Bash scenarijus yra puikus pavyzdys, kaip galima pagerinti savo darbo eigą naudojant paprastus, tačiau efektyvius įrankius. Jei dažnai naudojatės terminalu, tikrai vertėtų išbandyti šį skriptą ir pamatyti, kaip jis gali padėti tvarkyti jūsų užrašus.

Džiaugiuosi galėdamas pasidalinti šiuo įrankiu ir tikiuosi, kad jis jums bus naudingas! Jei turite pasiūlymų ar pastebėjimų, drąsiai dalinkitės jais komentaruose.

Komentarai

Populiarūs šio tinklaraščio įrašai

Configuring a NixOS firewall for everyday use

Setting up syncthing as a service on openSUSE and other Linux distributions

Monitoring SFTP server updates with Python