Вам нужен Sub
(Sub stiTute ), а не в Substr
(Sub string ) Команда ): сравните
$ awk -v name="abc.txt" 'BEGIN {substr("c","",name) ; print name}'
abc.txt
с
$ awk -v name="abc.txt" 'BEGIN {sub("c","",name) ; print name}'
ab.txt
Однако, если вы не делаете это как упражнение программирования для изучения AWK
, на самом деле нет причин, чтобы не использовать вашу оболочку для таких вещей, например, В Bash
:
newname="${name%c.*}.${name##*.}"
образует строку из имя
с кратчайшим конечным совпадением, начиная с c.
Удалены, объединены с удлинением точек, образованного путем удаления самой длинной части, соответствующей до .
Как я понял из вашего вопроса, вам необходимо получить доступ к данным формы, которые вы сохранили на вкладках firefox. Хотя вы можете установить надстройки в firefox для восстановления вкладок с помощью командной строки, вы упомянули, что на данный момент компьютер находится в зависшем состоянии.
SSH на замороженную машину с другой машины и попробуйте любой из двух вариантов ниже.
Текущие открытые URL-адреса открытых вкладок Firefox хранятся в файле sessionstore.js, который находится где-то в каталоге $ HOME / .mozilla / firefox / XXXXXXXX.default
.
Итак, вы можете начать примерно так:
cat $HOME/.mozilla/firefox/*default/sessionstore.js | sed "s/{/\n/g" | egrep -o '"url".*"scroll"' | cut -d\" -f4
python2 <<< $'import json\nf = open("sessionstore.js", "r")\njdata = json.loads(f.read())\nf.close()\nfor win in jdata.get("windows"):\n\tfor tab in win.get("tabs"):\n\t\ti = tab.get("index") - 1\n\t\tprint tab.get("entries")[i].get("url")'