-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathexecutable_dot_bash_aliases
121 lines (96 loc) · 3.13 KB
/
executable_dot_bash_aliases
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
alias s='sudo env "PATH=$PATH" '
alias sudo='sudo -E'
alias ls='ls --color=auto'
alias ll='ls -l'
#Color
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
#File Work
extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar e $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via extract()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
#Work
alias top10="ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10"
alias pbcopy='xclip -selection clipboard'
alias cgrep="ngrep -d any -P \"'\" -W byline -T -i"
#TMUX
alias tcr="for i in \$(tmux list-windows | awk -v x=\$(tmux display-message -p '#I') -F ':' '\$1 > x {print \$1}'); do tmux kill-window -t \$i ; done"
#SIP
alias sip-grep="ngrep -d any -P \"'\" -W byline -T -i port 5060"
alias sip-bgrep="ngrep -d any -P \"'\" -W byline -T -i -t \"(^|CSeq:\s?\d* )(INVITE|ACK|CANCEL|BYE|MESSAGE|REFER|PRACK|INFO|UPDATE)\" port 5060"
#other
function convertxcf(){
ls -1 | grep xcf | while read line;
do
mkdir -p jpeg
PHOTO=$(echo $line | awk -F '.xcf' '{print $1}')
convert $PHOTO.xcf jpeg/$PHOTO.jpg
done
}
function read_csv(){
sed 's/,,/, ,/g;s/,,/, ,/g' $1 | column -s, -t
}
function jqr(){
jq -r $1 | column -t
}
function yubikey_refresh_gpg(){
gpg-connect-agent "scd serialno" "learn --force" /bye
}
# https://simonwillison.net/2024/Dec/19/q-and-qv-zsh-functions/
q() {
local url="$1"
local question="$2"
# Fetch the URL content through Jina
local content=$(curl -s "https://r.jina.ai/$url")
# Check if the content was retrieved successfully
if [ -z "$content" ]; then
echo "Failed to retrieve content from the URL."
return 1
fi
system="
You are a helpful assistant that can answer questions about the content.
Reply concisely, in a few sentences.
The content:
${content}
"
# Use llm with the fetched content as a system prompt
llm prompt "$question" -s "$system"
}
qv() {
local url="$1"
local question="$2"
# Fetch the URL content through Jina
local subtitle_url=$(yt-dlp -q --skip-download --convert-subs srt --write-sub --sub-langs "en" --write-auto-sub --print "requested_subtitles.en.url" "$url")
local content=$(curl -s "$subtitle_url" | sed '/^$/d' | grep -v '^[0-9]*$' | grep -v '\-->' | sed 's/<[^>]*>//g' | tr '\n' ' ')
# Check if the content was retrieved successfully
if [ -z "$content" ]; then
echo "Failed to retrieve content from the URL."
return 1
fi
system="
You are a helpful assistant that can answer questions about YouTube videos.
Reply concisely, in a few sentences.
The content:
${content}
"
# Use llm with the fetched content as a system prompt
llm prompt "$question" -s "$system"
}