Awk

創建從文件讀取的目錄的符號連結 Glob

  • July 25, 2021

我正在提取 tsv 文件第 5 列的目錄名稱,ExtensionList.tsv我想為所有這些文件夾創建符號連結,這些文件夾的名稱以擴展文件夾內的 ${HOME} 開頭

awk -F'\t' '{print $5 }' ExtensionList.tsv \
   | xargs -L 1 -I "{}" ln -s -f "${HOME}/{}"* Extension

範例 Tsv 文件

2   n   xshrim.txt-syntax   Txt Syntax  xshrim.txt-syntax

我想做(對於 tsv 文件中的所有記錄)

ln -s -f xshrim.txt-syntax* Extension

有什麼建議麼?

為什麼我的命令不起作用?

當在 bash shell 中執行符號連結時,glob 擴展工作完美:

awk -F'\t' '{print $5 }' ExtensionList.tsv \
   | xargs -L 1 -I "{}" bash -c 'ln -s -f "${HOME}/{}"* Extension' _ "{}" \;

可能 bash 支持此功能,而 Posix shell 不支持。


參考:有沒有辦法用萬用字元創建符號連結 - Thinbug

引用自:https://unix.stackexchange.com/questions/659798