GNU/Linux >> Znalost Linux >  >> Linux

Je možné upravit symbolický odkaz pomocí textového editoru?

Přímo to možné není, jak již upozornili jiní, ale samozřejmě si k tomu můžete napsat scénář. Tady je jeden, na který jsem přišel, když jsem musel změnit spoustu symbolických odkazů

#! /bin/bash

tmp=$(mktemp)
trap "rm $tmp" EXIT

while [ ! -z "$1" ]; do
    filename="$1"; shift
    if [ ! -h "$filename" ]; then
        echo "Not a symlink: $filename";
        continue
    fi
    stat -c "%N" "$filename" >> $tmp
done
emacs $tmp

while read filename linkname; do
    ln -sf "$linkname" "$filename"
done < <(sed "s/'\(.*\)' -> '\(.*\)'/\1 \2/" $tmp)

Fungovalo to pro mě, ale rozhodně to není dokonalé, takže použití na vlastní nebezpečí...


V zásadě je to možné, ale editor by to musel konkrétně podporovat, protože čtení cíle symbolického odkazu vyžaduje speciální systémové volání:readlink() .

Je nepravděpodobné, že byste našli nějaké editory, které to skutečně dělají, protože to není příliš užitečné a je v rozporu s tím, co většina uživatelů chce, aby editor udělal, když je požádán o otevření symbolického odkazu:otevřít soubor, na který odkazuje.


Podle Ukládání symbolických odkazů části v článku Symbolické odkazy na Wikipedii jsou symbolické odkazy uloženy v inode . Tento inode je datová struktura obsahující několik informací o příslušném souboru – podle tohoto vlákna touch příkaz lze použít ke změně některých jeho hodnot. Takže to možná nebude možné upravit pomocí textového editoru kvůli problémům, které @Wyzard zmínil, ale může to být upravit pomocí některých dalších nástrojů příkazového řádku, jako je touch .

Doufám, že to pomůže!


Ano, v Emacsu je to možné v dired-mode, konkrétně wdired (zapisovatelné dired) režimu.

Všimněte si, že dired i wdired jsou vestavěné balíčky.

Zde je příklad...

(BTW:Používám Smex, abych dal Emacs M-x hledání příkazů a provádění ergonomičtějšího uživatelského rozhraní + fuzzy párování)


Linux
  1. Zapněte textový editor terminálu Linux pomocí ed

  2. Průvodce textovým editorem ViM 101

  3. Vzdálená úprava pomocí lokálního editoru (Linux)

  1. Upravujte text v Linuxu pomocí KWrite a Kate

  2. Jak upravit systémové soubory pomocí editoru Kate?

  3. Atom-IDE – Atom Text Editor na steroidech

  1. Upravte video na Linuxu pomocí Kdenlive

  2. Upravujte zvuk na Linuxu pomocí Audacity

  3. Vyzkoušejte textový editor e3 Linux