今天在下grep 指令時出現以下的訊息
Binary file /tmp/test matches
查了一下說是因為檔案是binary file 無法執行grep 指令
明明就是text file
解決方式是強制指定為txt
指令
grep -a abc /tmp/test
2019/10/15
2018/01/07
延續昨天的問題
先把找出來的cid先排序 才能使用 comm 指令
sort data > data_s
mv data_s data
程式跑一個晚上砍不到10000筆 XD
早上停掉
找了一下資料
改用另一種跑法
一樣是先把要砍的欄位資料撈出來
之後以一萬筆為單位拆開 做完後從資料中清除
如下
先把找出來的cid先排序 才能使用 comm 指令
sort data > data_s
mv data_s data
get_10000
sed -n '1,10000p' data > data_del
#grep -v -f data_del data > data_tmp
comm -1 -3 data_del data > data_tmp
mv -f data_tmp data
mv -f data_tmp data
利用上述的檔案生成sql 語法
del_data_10000
for i in `cat data_del`
do
echo -n $i" ,"
done > 000
echo -n 999999999 >> 000
mysql -u user -p123456 snort -e"delete from event where cid in (`cat 000`);"
一次跑100個loop
#!/bin/bash
for i in {1..100};
do
echo $i" times"
./get_10000
echo "get ok"
./del_data_10000
echo "del ok"
wc data
echo " "
done
速度快多了
2016/11/24
在linux shell中常常會需要判斷某個檔案內是否有特定字串
或是某個指令執行有沒有成功
視情況以進行接下來的處理
之前都是用grep把結果導到/tmp
再用test去判斷檔案是否存在
其實也可以用$?來判斷
$?是shell中一個特別的變數
如果上一個指令成功則為0
反之則為1
範例如下
grep error file
[ $? == 0 ] && echo "not ok"
假設file 內有error這個字串
則印出 not ok
http://c.biancheng.net/cpp/view/2739.html
或是某個指令執行有沒有成功
視情況以進行接下來的處理
之前都是用grep把結果導到/tmp
再用test去判斷檔案是否存在
其實也可以用$?來判斷
$?是shell中一個特別的變數
如果上一個指令成功則為0
反之則為1
範例如下
grep error file
[ $? == 0 ] && echo "not ok"
假設file 內有error這個字串
則印出 not ok
http://c.biancheng.net/cpp/view/2739.html
2016/02/20
昨天發現有几台brocade的fan壞了
本來在crontab是有寫檢查fail及error的script
但因為brocade 在log上會一直出現fan
因為會一直變換轉速
所以之前拿掉了 因為量太大
這次再加回去
grep Fan|grep fail
但要撈log時 使用cut時發現一個問題
當每個月的10號之前
會有二個空格
Apr 9 19:37:20 192.168.204.251 System: Fan 1 (from left when facing right side), failed
Apr和9間就有二個空格
如此便會影使用cut取值的正確
為了要解決這個問題
使用一次 tr 就好了
tr -s ' ' 這樣就可以把空格全部壓縮成一個
本來在crontab是有寫檢查fail及error的script
但因為brocade 在log上會一直出現fan
因為會一直變換轉速
所以之前拿掉了 因為量太大
這次再加回去
grep Fan|grep fail
但要撈log時 使用cut時發現一個問題
當每個月的10號之前
會有二個空格
Apr 9 19:37:20 192.168.204.251 System: Fan 1 (from left when facing right side), failed
Apr和9間就有二個空格
如此便會影使用cut取值的正確
為了要解決這個問題
使用一次 tr 就好了
tr -s ' ' 這樣就可以把空格全部壓縮成一個
訂閱:
文章 (Atom)