linux下获取网络上linux命令

获取网络上linux命令

linux上的命令很多,没有学全,而且容易忘记,那么写个脚本从网络上获取命令吧

要达到的目标:

  • 从网页上获取数据进行筛选得到需要的命令
  • 将命令显示到状态栏polybar上
  1. 为了实现第一个目标:

    • 使用定时任务每天定时获取命令,因为这个网页的命令每天更新。由于获取到的命令存在中文,但是polybar显示不了,所以对其进行了翻译

      1
      2
      # 定时任务获取数据
      0 20 * * * curl https://www.linuxcool.com/ | grep -E '^<a' | awk -F '>' '{print $2}' | awk '{print $1 "----" $3}' | awk -F '<' '{print $1}' | grep -E '^[a-zA-Z]' > ~/Documents/books/command.txt && ~/.local/bin/trans
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      # 翻译脚本并格式化输出
      #!/bin/bash

      file="/home/narcissus/Documents/books/command.txt"
      newfile="/home/narcissus/Documents/books/trscommand.txt"
      total=`wc -l $file | awk '{print $1}'`

      for ((i=1; i<=${total}; i++))
      do
      info=`sed -n "${i}p" $file`
      one=`echo $info | awk -F '----' '{print$1}'`
      two=`echo $info | awk -F '----' '{print$2}' | ydcv | tail -n1`
      echo "[ $one ] :::::: $two" >> $newfile
      done
  2. 为了实现第二个目标

    • 使用polybar定时刷新的功能,随机显示命令

      1
      2
      3
      4
      [module/hiscmd]
      type = custom/script
      interval = 60
      exec = shuf -n1 ~/Documents/books/trscommand.txt