顯示具有 grep 標籤的文章。 顯示所有文章
顯示具有 grep 標籤的文章。 顯示所有文章

2019/11/22

今天在下grep 指令時出現以下的訊息

Binary file /tmp/test matches

查了一下說是因為檔案是binary file 無法執行grep 指令
明明就是text file
解決方式是強制指定為txt
指令

grep -a abc /tmp/test

2019/10/15

一般如果要找出二個檔案不同的地方而且印出來
最常使用的方式就是用grep了

grep -v -f a b

就可以找出在b檔案內不包含a檔案的內容
但有個問題
如果二個檔案內容是几千或几萬筆
那就要花很..................久的時間

這時就可以使用comm
前提是二個檔案必須先排序
sort a > aa
sort b > bb

再來就可以找出b有但a沒有的內容 快非常多
comm -1 -3 aa bb

2018/01/07

延續昨天的問題
程式跑一個晚上砍不到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

利用上述的檔案生成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

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 ' ' 這樣就可以把空格全部壓縮成一個

2015/08/04

修改honeyd.conf後要重啟時一時出現以下的錯誤

/etc/honeypot/honeyd.conf:32: Unknown personality "Microsoft Windows xp sp1"
honeyd: parsing configuration file failed

原來 personality這行不能亂設
要比對 nmap.prints這個檔案

grep Finger nmap.prints

跟著打才行