获取手机上所有通知信息
$ adb shell dumpsys notification |grep 'tickerText'|awk -F '=' '{print $2}'|grep -v 'null'
李天一提前6年出狱?官方回应
我就吃个桃子怎么感觉后背发凉
就跟我入个镜这么难吗?😂
USB 已连接 (文件)
已连接 USB 调试
notification.png
首先需要了解,通过adb命令获取手机上通知信息的命令
adb shell dumpsys notification
然后查找关键词 tickerText ,用grep 结合awk 命令进行筛选、过滤,最终得到通知信息
获取简书粉丝昵称
$ curl https://www.jianshu.com/users/840c2172e2e3/followers |grep 'class="name"' |awk -F '>' '{print $2}'|awk -F'<' '{print $1}' |grep -v '迈阿密小白'
Carenfan
小小刺WW
银河缘木
懒懒的小爬
ab1c740
M4K0
何锦添
Mmi_a31d
pink丶_5a2c
这个和之前的一篇文章使用shell命令获取简书主页文章很类似,配合grep和awk命令进行筛选、过滤。
由于会加上自己的昵称 迈阿密小白 ,所以最后加了 grep -v '迈阿密小白' 来过滤掉自己的昵称
shell-fans.png
fans.png
打印当前目录下的文件并判断是目录还是文件
for i in `ls`
do
if [ -d $i ]
then
echo "$i"是目录文件
elif [ -f $i ]
then
echo $i 是文本文件
fi
done
envs是目录文件
gittest是目录文件
gittest.zip 是文本文件
json.txt 是文本文件
request-excel是目录文件
str.txt 是文本文件
test是目录文件
test(3).zip 是文本文件
trans.py 是文本文件
try.py 是文本文件
code.png
首先打印当前目录的文件命令
ls
envs/ gittest/ gittest.zip json.txt request-excel/ str.txt test/ 'test(3).zip' trans.py try.py
然后结合
文件测试运算符 -f -d 进行判断,
f 为文件
d 为目录
加上for循环和if then elif
最终实现目的
打印文件的第十行
假如这个文件为test.log
初见这个问题可能很简单,想到的命令可能有
sed -n '10p' test.log
head -n 10 test.log | tail -n 1
cat test.log |head -n 10 |tail -n 1
但是忽略了一种场景,
如果文件不足十行怎么办?
那就加一个判断咯
n=`wc -l test.log | awk -F '' '{print $1}'`
echo $n
$ if [ $n -ge 10 ]
> then
> sed -n '10p' test.log
> else
> echo '文件不足10行'
> fi
输出文件多少行的命令有:
awk '{print NR}' test.log |tail -n 1
cat test.log |wc -l
awk 'END{print NR}' test.log
wc -l test.log | awk -F '' '{print $1}'
网友评论