dconf에서 Gnome 터미널 구성 파일 목록을 읽고 싶습니다.
$ dconf read /org/gnome/terminal/legacy/profiles:/list
['b1dcc9dd-5262-4d8d-a863-c897e6d979b9', '1a3bb41a-5de6-4a23-af30-e70b4b8e5230', 'afa18dee-db51-42b6-b15d-cc35a5738932', '69a27e59-4bc4-4a9c-ba5c-1201ebdb9841']
그런 다음 나머지 목록을 반복합니다. 씹지 않고 이것을 할 수 있는 합리적인 방법이 있나요 tr
? 현재 나는 다음을 가지고 있습니다:
for PROFILE in $( dconf read /org/gnome/terminal/legacy/profiles:/list|tr -d "[],'");
do
dconf write /org/gnome/terminal/legacy/profiles:/:${PROFILE}/word-char-exceptions '@ms "-,.;/:?%&#_=+@~·"'
done
그런데 이건 좀 역겨운 것 같아요. 이 경우 세트가 [],'
값에 표시되지 않는다는 것을 알고 있지만 이는 보편적으로 사실이 아닙니다. (이 목록은 대시로 구분된 소문자 16진수인 UUID이지만 모든 목록이 그런 것은 아닙니다.) 실제로 더 좋은 방법이 있습니까?설명하다여기에 제공된 대괄호 목록 구문이 대신 해결됩니까?
답변1
당신이 사용할 수 있는 의견에서 지적했듯이 jq
, 이것은 그렇게 보이지는 않지만 '
마음에 듭니다 "
.
dconf read /org/gnome/terminal/legacy/profiles:/list | tr "'" '"' | jq
예상대로 작동
[
"b1dcc9dd-5262-4d8d-a863-f897e3d979b9",
"7b765e06-1bcc-4695-86d6-c2d391651ac2"
]
다음도 작동합니다
dconf read /org/gnome/terminal/legacy/profiles:/list | \
tr "'" '"' | \
jq '.[]' | \
while read PROFILE; do
echo "here's the logic for $PROFILE"
done