看起来很酷的一行命令


扫描树莓派IP并尝试登录后返回IP

for l in `nmap -p22 192.168.1.0/24 | grep for | cut -d ' ' -f5 | sed 's/^/pi@/' ` ;do; sshpass -p 'raspberry' ssh -o ConnectTimeout=1 -o StrictHostKeyChecking=no $l ip addr; done;

搜索含有 lzma 字样的Makefile(makefile中可能用 $(COMP) 变量表示)

find -name 'Makefile' | grep -Ei '(uboot|source)' | sed '/linux-2.4/d;/linux-2.6.36/d' | xargs grep --color=always -P '(lzma|LZMA|(?<![_\w])COMP(?![_\w]))'

替换成aliyun的更新源

sudo sh -c 'curl "https://mirrors.aliyun.com/help/ubuntu" | grep deb | grep precise | sed "s/precise/`lsb_release -a | grep name | cut -f2`/g" | sed -r "s/^\W+//g" > /etc/apt/sources.list'

获取B站直播间消息列表

while [ 1 ];do sleep 1;python3 -c "import json;from urllib.request import *;d=json.loads(urlopen(Request('https://api.live.bilibili.com/ajax/msg',b'roomid=946041')).read().decode('utf-8'))['data']['room'];f=open('/tmp/msg.txt','w');[f.write(e['nickname']+': '+e['text']+'\n') for e in d];f.close()";done

递归进入git submodule 目录并做些事情

R(){P=`pwd`;echo "**>Now at $1";if [[ -d $1/vendor ]];then echo "**NEXT>";for d in `ls $1/vendor`;do R `greadlink -f $1/vendor/$d` $2;done;fi;cd $1 && eval $2;cd $P;};R `pwd` 'echo working with $1'

扫描.map 文件并寻找导出函数在哪个文件第几行被定义(不完美,有可能搜出if while 之类的调用引用)

S(){FL=(`awk 'BEGIN {FS="[ ;]+"} /[a-zA-Z_0-9];/ {print $2}'  $2`);for file in $(find $1 -name '*.c') ;do for func in $FL;do grep -nE "\s$func\s*\(.*\)\s*\{" $file  && echo "-- $file\n";done;done;};S  src mapfile.map

根据map 文件在目录下所有源码内搜索定义(同上不完美)并在其后插入一些内容

P(){FL=($(awk 'BEGIN {FS="[ ;]+"} /[a-zA-Z_0-9];/ {print $2}' $2));for file in $(find $1 -name '*.c');do for func in $FL;do pt="\s$func\s*\(.*\)\s*\{";gsed -i -r "s:($pt):\1\n$3\n:" $file;grep -nE "$pt" $file  && echo "-- $file\n";done;done;};P src src/mapfile.map '/*auto added*/'  

获取最新golang打包下载地址

echo "https://go.dev$(curl -fsSL 'https://go.dev/dl' | awk '/class="download downloadBox/{FS="[ \"]";if(/linux-amd64/){print $7}}')"

使用 CF API 更新 IPv6 DDNS

if AAAA=$(ip addr | grep inet6 | sed -E 's/^.*inet6 (fe80|:).*$//;s/^.*deprecated.*$//' | grep secured | awk -F '[ /]' '{print $2;}' | tail -n1) ;then curl -LX PUT 'https://api.cloudflare.com/client/v4/zones/ZONEID/dns_records/DNSRECORDID' -H 'Authorization: Bearer OdUOI9gnSRhEA5GC1IMl0zmd3RPXXR4ez9gA9SJt' -H 'Content-Type: application/json' --data-raw "{\"comment\":\"created by DDNS API\",\"content\": \"${AAAA}\",\"name\": \"my.p-vm.dev\",\"type\":\"AAAA\",\"proxied\": false,\"ttl\":1}"; fi