close

cut,sed,awk 字串處理

轉貼 http://jarkin.blogspot.tw/search/label/Shell%20Scritp

cut 教學:

  cut -b 10- filename //刪除該列的前10個字元
  cut -d(分界字元) filename //指定欄位的分界字元



sed 教學:
  sed -e '3d' //刪除第3列
  sed -e '2,5d' //刪除第2~5列
  sed -e '4,$d' //刪除第4列,但第4列是最後一列;錢字號『 $ 』代表最後一行!
  sed -e "/${var}/"d //在shell中,用變數代替
  sed 's/^...//' //刪除該列的前3個字元
  sed 's/...$//' //刪除該列的最後3個字元
  sed '/Hello/d' dataf3 //刪除Hello該列
  sed -i “s/\r//”FILENAME //刪除檔案中的^M字元
 
  sed 's/要被取代的字串/新的字串/g'
  ex: sed 's/*//g' //將「*」符用空白字元取代



awk教學:
  awk 'NR!=3 {print $0}' //刪除第3列
  awk '!(NR>=2 && NR<=5){print $0}' //刪除第2~5列



綜合:
  捉取第一列的「:」前的資料
  awk 'NR==1' aaa.a | cut -f 1 -d :

  捉取第一列的「:」前的資料並計算個數
  awk 'NR==1' aaa.a | cut -f 1 -d : | wc -m
 
  cat test.sh | awk -F = '/Sub 1/ {print NR}' //抓test.sh的Sub 1所在的列數


  抓取Channel方法
  iwconfig ra0 2>/dev/null | grep Channel | awk '{print $2}' | cut -b 9-
 
=========================================================

檢查檔案是否存在

if [ -f "檔案路徑" ]; then
    echo "檔案存在!!"
else
    echo "檔案不存在!!"
fi

or
if [ ! -f "檔案路徑" ]; then 
 
=========================================================

Get DHCP Assignment Default Gateway

Shell Code:
    route -n | grep 'UG[ \t]' | awk '{print $2}'


Shell Code: 
    route -n | grep '^0\.0\.\0\.0[ \t]\+[1-9][0-9]*\.[1-9][0-9]*\.[1-9][0-9]*\.[1-9][0-9]\+[ \t]\+0\.0\.0\.0[ \t]\+[^ \t]*G[^ \t]*[ \t]' | awk '{print $2}'
=========================================================

Linux 一些系統訊息
 

整理一些linux系統一些常用的系統信息查看命令.
有些在freebsd下也能用…
# uname -a # 查看內核/操作系統/CPU信息
# head -n 1 /etc/issue # 查看操作系統版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看計算機名
# lspci -tv # 列出所有PCI設備
# lsusb -tv # 列出所有USB設備
# lsmod # 列出加載的內核模塊
# env # 查看環境變量資源
# free -m # 查看內存使用量和交換區使用量
# df -h # 查看各分區使用情況
# du -sh <目錄名> # 查看指定目錄的大小
# grep MemTotal /proc/meminfo # 查看內存總量
# grep MemFree /proc/meminfo # 查看空閒內存量
# uptime # 查看系統運行時間、用戶數、負載
# cat /proc/loadavg # 查看系統負載磁盤和分區
# mount | column -t # 查看掛接的分區狀態
# fdisk -l # 查看所有分區
# swapon -s # 查看所有交換分區
# hdparm -i /dev/hda # 查看磁盤參數(僅適用於IDE設備)
# dmesg | grep IDE # 查看啟動時IDE設備檢測狀況網絡
# ifconfig # 查看所有網絡接口的屬性
# iptables -L # 查看防火牆設置
# route -n # 查看路由表
# netstat -lntp # 查看所有監聽端口
# netstat -antp # 查看所有已經建立的連接
# netstat -s # 查看網絡統計信息進程
# ps -ef # 查看所有進程
# top # 實時顯示進程狀態用戶
# w # 查看活動用戶
# id <用戶名> # 查看指定用戶信息
# last # 查看用戶登錄日誌
# cut -d: -f1 /etc/passwd # 查看系統所有用戶
# cut -d: -f1 /etc/group # 查看系統所有組
# crontab -l # 查看當前用戶的計劃任務服務
# chkconfig –list # 列出所有系統服務
# chkconfig –list | grep on # 列出所有啟動的系統服務程序
# rpm -qa # 查看所有安裝的軟件包
# cat /proc/cpuinfo :查看CPU相關參數
# cat /proc/partitions :查看硬盤和分區
# cat /proc/meminfo :查看內存信息
# cat /proc/version :查看版本,類似uname -r
# cat /proc/ioports :查看設備io端口
# cat /proc/interrupts :查看中斷
# cat /proc/pci :查看pci設備的信息
# cat /proc/swaps :查看所有swap分區的信息

=========================================================

 

 
 
arrow
arrow
    文章標籤
    Linux
    全站熱搜

    adminX 發表在 痞客邦 留言(2) 人氣()