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字元
=========================================================
Linux 一些系統訊息
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
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-
抓取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
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}'
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分區的信息
有些在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分區的信息
=========================================================
文章標籤
全站熱搜