때로는 Firefox에 많은 탭이 열려 있고 내장 북마크를 사용하는 것보다 파일에 저장하는 것을 선호합니다.
그래서 (수동으로) 복사했어요URLabout:preferences
페이지 에서 파일에 저장하고 다음을 사용하여 파일을 처리합니다. tr '|' '\n'
작은 bash 스크립트에서.
나중에 다시 열고 싶을 때탭텍스트 파일에서 다음과 같은 작은 루프를 실행합니다.
#!/bin/bash
# usage: $bash Open-tabs.sh file-with-bookmarks.txt
while read -r line; do
firefox -new-tab "$line" 2>/dev/null &
sleep 2
done < "$1"
다 열립니다탭2초 지연.
읽을 수 있는 방법이 있는지 궁금합니다.URL~의열린 탭스크립트에 포함할 수 있도록 명령줄에서 실행하시겠습니까?
답변1
이는 Firefox 57 이상에서 작동합니다. lz4 (pip를 통해)가 필요합니다. 파일 헤더는 b'mozLz40\0'
. 한 줄의 코드에서 파일 경로를 사용하려면 환경 변수를 사용하고 그에 따라 줄을 바꾸고 병합하세요 \n
.\t
export opentabs=$(find ~/.mozilla/firefox*/*.default/sessionstore-backups/recovery.jsonlz4);
python3 <<< $'import os, json, lz4.block
f = open(os.environ["opentabs"], "rb")
magic = f.read(8)
jdata = json.loads(lz4.block.decompress(f.read()).decode("utf-8"))
f.close()
for win in jdata["windows"]:
for tab in win["tabs"]:
i = int(tab["index"]) - 1
urls = tab["entries"][i]["url"]
print(urls)'
답변2
소스(변경된 파일 경로):열려 있는 모든 탭 가져오기
이 코드 조각은 현재 Firefox 탭 URL을 가져옵니다. recovery.js[onlz4]
프로필 폴더의 파일을 사용합니다 . 파일은 거의 즉시 업데이트되지만 항상 올바른 URL은 아닙니다.
열려 있는 모든 탭을 가져옵니다.
python -c '
import io, json, pathlib as p
fpath = next(iter(p.Path("~/.mozilla/firefox").expanduser().glob("*.default/sessionstore-backups/recovery.js*")))
with io.open(fpath, "rb") as fd:
if fpath.suffix == ".jsonlz4":
import lz4.block as lz4
fd.read(8) # b"mozLz40\0"
jdata = json.loads(lz4.decompress(fd.read()).decode("utf-8"))
else:
jdata = json.load(fd)
for win in jdata.get("windows"):
for tab in win.get("tabs"):
i = tab["index"] - 1
print(tab["entries"][i]["url"])
'
답변3
이러한 답변 중 일부는 "[임의 문자].default" 디렉토리를 참조합니다. 버전 67부터 사용자는 다양한 업데이트 채널(예: 릴리스, 베타, Nightly 등)에 대한 프로필을 가질 수 있습니다.
내 Ubuntu 18 시스템에서 이 디렉터리는 "[random chars].default-release"입니다. 아직 "[...].default" 디렉토리가 있지만 대부분 비어 있습니다. "sessionstore-backups"를 찾을 수 없다는 오류가 발생하는 경우 이 점을 염두에 두십시오.
답변4
나는 사용하는 것이 좋습니다https://github.com/balta2ar/brotab이 목적을 위해:
pip install brotab
brotab install
또한 네트워크 확장을 설치하십시오.https://addons.mozilla.org/en-US/firefox/addon/brotab/
Firefox를 다시 시작하면 brotab list
다음과 같이 사용하고 구문 분석할 수 있습니다.
bt list | awk -F'\t' '{
print "Downloading "$2
system("curl --silent --output \""$2"\" \""$3"\"")
}'