ShellScript에서 Google 크롬 북마크 열기
14033 단어 ShellScript
소개
모두가 매우 유용한 Go 도구의 fzf을 사용하여 터미널에서 Chrome 북마크를 여는 명령을 만들었습니다.
Github 저장소
htps : // 기주 b. 코 m / 류 세이 만 / 보오 kma rk_fzf
CLI에서 북마크 정보 얻기
이 명령을 실행하려면 Google 계정에 연결된 북마크 정보를 ShellScript로 가져와야합니다.
Google 크롬의 북마크 정보는 귀하의 로컬 컴퓨터의 다음 디렉토리에 저장되며 cat 명령 등으로 내용을 얻을 수 있습니다.
cat ~/Library/Application\ Support/Google/Chrome/Default/Bookmarks
내용은 JSON 형식으로 다음과 같이 약간 복잡하게 중첩됩니다.
{
"checksum": " ",
"roots": {
"bookmark_bar": {
"children": [ {
{
"date_added": " ",
"guid": " ",
"id": " ",
"name": "ほげサイト",
"type": "url",
"url": "https://hoge/fuga"
}, {
"date_added": " ",
"guid": " ",
"id": " ",
"name": "ふがサイト",
"type": "url",
"url": "https://hoge/piyo"
} ],
"date_added": " ",
"date_modified": " ",
"guid": " ",
"id": " ",
"name": "ブックマーク バー",
"type": "folder"
},
.
.
. // この下にもずらーっとモバイルのブックマーク情報などが続く
이 중에서도 이번에는 PC 브라우저에서 등록 된 북마크 만 취급하므로roots > bookmark_bar > children
키 정보를 반전합니다.
ShellScript로 JSON 퍼스
ShellScript에서 JSON을 가챠가챠 할 때는 jq 명령이 유명하네요.
이번에도 jq 명령으로 구현을 해 나갑니다.
아래와 같이 jq 커멘드의 인수로서 키명을 건네주면 JSON을 탐색해 키에 연결한 정보를 취득하는 것이 가능합니다. 매우 편리하네요!
jq 커맨드의 상세한 사용법에 대해서는, 이 기사 가 매우 알기 쉽습니다(`・ω・´)
data=`cat ~/Library/Application\ Support/Google/Chrome/Default/Bookmarks`
bookmark_list=$(echo $data | jq .roots.bookmark_bar.children)
echo $bookmark_list
이 세 줄은 처음에 cat으로 표시한 복잡한 JSON에서 북마크 목록만 출력할 수 있습니다.
그리고는 for문이라 while문으로 돌려 갑니다.
i=0
while [ $i -lt $len ];
do
row_data=$(echo $bookmark_list | jq .[$i])
type=$(echo $row_data | jq .type)
name=$(echo $row_data | jq .name)
url=$(echo $row_data | jq .url)
echo "${name} : ${url}"
(( i++ ))
done
북마크가 폴더인 경우
북마크를 대량으로 등록하고 있는 분이라면 북마크 폴더를 다양하고 있을까 생각됩니다.
Bookmarks의 JSON은 폴더 유형의 북마크에 대해 다음과 같이 정의됩니다.
.
.
.
# ======中略==========
}, {
"children": [ {
"date_added": " ",
"guid": " ",
"id": " ",
"name": "ほげサイト",
"type": "url",
"url": "https://hoge/fuga"
}, {
"date_added": " ",
"guid": " ",
"id": " ",
"name": "ふがサイト",
"type": "url",
"url": "https://fuga/piyo"
} ],
"date_added": " ",
"date_modified": " ",
"guid": " ",
"id": " ",
"name": "フォルダだよ",
"type": "folder"
}, {
roots > bookmark_bar > children
키 안에 더 children
키가 있고 그 안에 북마크의 정보가 담겨 있습니다.
흠, 첫견에서는 너무 복잡해서 손으로 올립니다(´・ω・`)
유일하게, type
라고 하는 키를 기초로 폴더인가 어떤가를 판별할 수 있으므로, 이것을 이용해 구현을 합니다.
row_data=$(echo $bookmark_list | jq .[$i]) #$iはループ中の変数
type=$(echo $row_data | jq .type)
if [ $type = "\"folder\"" ]; then
#folderの中をさらに探索する
fi
이 방법으로 로컬에 저장된 Bookmark JSON과 jq 명령을 사용하면 조금 복잡하지만 북마크 정보를 얻을 수 있습니다.
그리고는 URL의 키를 취득하는 등 북마크를 여는 것도 가능합니다.
Reference
jq
fzf
jq 명령을 사용하는 일상 소개
Reference
이 문제에 관하여(ShellScript에서 Google 크롬 북마크 열기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/27ma4_ryusei/items/aadca177d3dae6b834ac
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이 명령을 실행하려면 Google 계정에 연결된 북마크 정보를 ShellScript로 가져와야합니다.
Google 크롬의 북마크 정보는 귀하의 로컬 컴퓨터의 다음 디렉토리에 저장되며 cat 명령 등으로 내용을 얻을 수 있습니다.
cat ~/Library/Application\ Support/Google/Chrome/Default/Bookmarks
내용은 JSON 형식으로 다음과 같이 약간 복잡하게 중첩됩니다.
{
"checksum": " ",
"roots": {
"bookmark_bar": {
"children": [ {
{
"date_added": " ",
"guid": " ",
"id": " ",
"name": "ほげサイト",
"type": "url",
"url": "https://hoge/fuga"
}, {
"date_added": " ",
"guid": " ",
"id": " ",
"name": "ふがサイト",
"type": "url",
"url": "https://hoge/piyo"
} ],
"date_added": " ",
"date_modified": " ",
"guid": " ",
"id": " ",
"name": "ブックマーク バー",
"type": "folder"
},
.
.
. // この下にもずらーっとモバイルのブックマーク情報などが続く
이 중에서도 이번에는 PC 브라우저에서 등록 된 북마크 만 취급하므로
roots > bookmark_bar > children
키 정보를 반전합니다.ShellScript로 JSON 퍼스
ShellScript에서 JSON을 가챠가챠 할 때는 jq 명령이 유명하네요.
이번에도 jq 명령으로 구현을 해 나갑니다.
아래와 같이 jq 커멘드의 인수로서 키명을 건네주면 JSON을 탐색해 키에 연결한 정보를 취득하는 것이 가능합니다. 매우 편리하네요!
jq 커맨드의 상세한 사용법에 대해서는, 이 기사 가 매우 알기 쉽습니다(`・ω・´)
data=`cat ~/Library/Application\ Support/Google/Chrome/Default/Bookmarks`
bookmark_list=$(echo $data | jq .roots.bookmark_bar.children)
echo $bookmark_list
이 세 줄은 처음에 cat으로 표시한 복잡한 JSON에서 북마크 목록만 출력할 수 있습니다.
그리고는 for문이라 while문으로 돌려 갑니다.
i=0
while [ $i -lt $len ];
do
row_data=$(echo $bookmark_list | jq .[$i])
type=$(echo $row_data | jq .type)
name=$(echo $row_data | jq .name)
url=$(echo $row_data | jq .url)
echo "${name} : ${url}"
(( i++ ))
done
북마크가 폴더인 경우
북마크를 대량으로 등록하고 있는 분이라면 북마크 폴더를 다양하고 있을까 생각됩니다.
Bookmarks의 JSON은 폴더 유형의 북마크에 대해 다음과 같이 정의됩니다.
.
.
.
# ======中略==========
}, {
"children": [ {
"date_added": " ",
"guid": " ",
"id": " ",
"name": "ほげサイト",
"type": "url",
"url": "https://hoge/fuga"
}, {
"date_added": " ",
"guid": " ",
"id": " ",
"name": "ふがサイト",
"type": "url",
"url": "https://fuga/piyo"
} ],
"date_added": " ",
"date_modified": " ",
"guid": " ",
"id": " ",
"name": "フォルダだよ",
"type": "folder"
}, {
roots > bookmark_bar > children
키 안에 더 children
키가 있고 그 안에 북마크의 정보가 담겨 있습니다.
흠, 첫견에서는 너무 복잡해서 손으로 올립니다(´・ω・`)
유일하게, type
라고 하는 키를 기초로 폴더인가 어떤가를 판별할 수 있으므로, 이것을 이용해 구현을 합니다.
row_data=$(echo $bookmark_list | jq .[$i]) #$iはループ中の変数
type=$(echo $row_data | jq .type)
if [ $type = "\"folder\"" ]; then
#folderの中をさらに探索する
fi
이 방법으로 로컬에 저장된 Bookmark JSON과 jq 명령을 사용하면 조금 복잡하지만 북마크 정보를 얻을 수 있습니다.
그리고는 URL의 키를 취득하는 등 북마크를 여는 것도 가능합니다.
Reference
jq
fzf
jq 명령을 사용하는 일상 소개
Reference
이 문제에 관하여(ShellScript에서 Google 크롬 북마크 열기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/27ma4_ryusei/items/aadca177d3dae6b834ac
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
data=`cat ~/Library/Application\ Support/Google/Chrome/Default/Bookmarks`
bookmark_list=$(echo $data | jq .roots.bookmark_bar.children)
echo $bookmark_list
i=0
while [ $i -lt $len ];
do
row_data=$(echo $bookmark_list | jq .[$i])
type=$(echo $row_data | jq .type)
name=$(echo $row_data | jq .name)
url=$(echo $row_data | jq .url)
echo "${name} : ${url}"
(( i++ ))
done
북마크를 대량으로 등록하고 있는 분이라면 북마크 폴더를 다양하고 있을까 생각됩니다.
Bookmarks의 JSON은 폴더 유형의 북마크에 대해 다음과 같이 정의됩니다.
.
.
.
# ======中略==========
}, {
"children": [ {
"date_added": " ",
"guid": " ",
"id": " ",
"name": "ほげサイト",
"type": "url",
"url": "https://hoge/fuga"
}, {
"date_added": " ",
"guid": " ",
"id": " ",
"name": "ふがサイト",
"type": "url",
"url": "https://fuga/piyo"
} ],
"date_added": " ",
"date_modified": " ",
"guid": " ",
"id": " ",
"name": "フォルダだよ",
"type": "folder"
}, {
roots > bookmark_bar > children
키 안에 더 children
키가 있고 그 안에 북마크의 정보가 담겨 있습니다.흠, 첫견에서는 너무 복잡해서 손으로 올립니다(´・ω・`)
유일하게,
type
라고 하는 키를 기초로 폴더인가 어떤가를 판별할 수 있으므로, 이것을 이용해 구현을 합니다.row_data=$(echo $bookmark_list | jq .[$i]) #$iはループ中の変数
type=$(echo $row_data | jq .type)
if [ $type = "\"folder\"" ]; then
#folderの中をさらに探索する
fi
이 방법으로 로컬에 저장된 Bookmark JSON과 jq 명령을 사용하면 조금 복잡하지만 북마크 정보를 얻을 수 있습니다.
그리고는 URL의 키를 취득하는 등 북마크를 여는 것도 가능합니다.
Reference
jq
fzf
jq 명령을 사용하는 일상 소개
Reference
이 문제에 관하여(ShellScript에서 Google 크롬 북마크 열기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/27ma4_ryusei/items/aadca177d3dae6b834ac
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(ShellScript에서 Google 크롬 북마크 열기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/27ma4_ryusei/items/aadca177d3dae6b834ac텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)