linux在所有文件中查找某一个字符
轉載自?https://www.cnblogs.com/wangkongming/p/3852328.html
# find <directory> -type f -name "*.c" | xargs grep "<strings>"<directory>是你要找的文件夾;如果是當前文件夾可以省略
-type f 說明,只找文件
-name "*.c" 表示只找C語言寫的代碼,從而避免去查binary;也可以不寫,表示找所有文件
<strings>是你要找的某個字符串
?
sudo find -type f -name '*'|xargs grep 'ssi on'
----------------------------------------------------------------------------------------------------------------------------------
進入到logs日志目錄,執行類似以下的命令:
cat -n catalina.out |grep '053574ccc432403c9762ac1372a7c7'? (catalina.out 可以替換為文件名)
便可得到053574ccc432403c9762ac1372a7c7出現的日志輸出語句,可見下圖
————————————————————————————————————————————————————
linux查看日志文件內容命令tail、cat、tac、head、echo
linux查看日志文件內容命令tail、cat、tac、head、echo
tail -f test.log
你會看到屏幕不斷有內容被打印出來. 這時候中斷第一個進程Ctrl-C,
---------------------------
linux 如何顯示一個文件的某幾行(中間幾行)
從第3000行開始,顯示1000行。即顯示3000~3999行
cat filename | tail -n +3000 | head -n 1000
顯示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
*注意兩種方法的順序
分解:
tail -n 1000:顯示最后1000行
tail -n +1000:從1000行開始顯示,顯示1000行以后的
head -n 1000:顯示前面1000行
用sed命令
sed -n '5,10p' filename 這樣你就可以只查看文件的第5行到第10行。
例:cat mylog.log | tail -n 1000 #輸出mylog.log 文件最后一千行
---------------------------
cat主要有三大功能:
1.一次顯示整個文件。$ cat filename
2.從鍵盤創建一個文件。$ cat > filename?
只能創建新文件,不能編輯已有文件.
3.將幾個文件合并為一個文件: $cat file1 file2 > file
參數:
-n 或 --number 由 1 開始對所有輸出的行數編號
-b 或 --number-nonblank 和 -n 相似,只不過對于空白行不編號
-s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換為一行的空白行
-v 或 --show-nonprinting
例:
把 textfile1 的檔案內容加上行號后輸入 textfile2 這個檔案里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之后將內容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3
把test.txt文件扔進垃圾箱,賦空值test.txt
cat /dev/null > /etc/test.txt?
注意:>意思是創建,>>是追加。千萬不要弄混了。
------------------------------------------
tac (反向列示)
tac 是將 cat 反寫過來,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行連續顯示在螢幕上,
而 tac 則是由最后一行到第一行反向在螢幕上顯示出來!
------------------------------------------
在Linux中echo命令用來在標準輸出上顯示一段字符,比如:
echo "the echo command test!"
這個就會輸出“the echo command test!”這一行文字!
echo "the echo command test!">a.sh
這個就會在a.sh文件中輸出“the echo command test!”這一行文字!?
該命令的一般格式為: echo [ -n ] 字符串其中選項n表示輸出文字后不換行;字符串能加引號,也能不加引號。
用echo命令輸出加引號的字符串時,將字符串原樣輸出;
用echo命令輸出不加引號的字符串時,將字符串中的各個單詞作為字符串輸出,各字符串之間用一個空格分割。
?
----------------------------------------------------------------------------------------------------------------------------------
Linux查找含有某字符串的所有文件
轉自:http://151wqooo.blog.51cto.com/2610898/1162118
如果你想在當前目錄下 查找"hello,world!"字符串,可以這樣:
?
grep -rn "hello,world!" *
?
* : 表示當前目錄所有文件,也可以是某個文件名
-r 是遞歸查找
-n 是顯示行號
-R 查找所有文件包含子目錄
-i 忽略大小寫
下面是一些有意思的命令行參數:
?
grep -i pattern files :不區分大小寫地搜索。默認情況區分大小寫,?
grep -l pattern files :只列出匹配的文件名,?
grep -L pattern files :列出不匹配的文件名,?
grep -w pattern files :只匹配整個單詞,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),?
grep -C number pattern files :匹配的上下文分別顯示[number]行,?
grep pattern1 | pattern2 files :顯示匹配 pattern1 或 pattern2 的行,?
grep pattern1 files | grep pattern2 :顯示既匹配 pattern1 又匹配 pattern2 的行。?
這里還有些用于搜索的特殊符號:
?
\< 和 \> 分別標注單詞的開始與結尾。
例如:?
grep man * 會匹配 ‘Batman’、‘manic’、‘man’等,?
grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’,?
grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。?
'^':指匹配的字符串在行首,?
'$':指匹配的字符串在行尾, ?
?
2,xargs配合grep查找
find -type f -name '*.php'|xargs grep 'GroupRecord'
---------------------------------------------------------------------------------------------------------------------------------------------總結
以上是生活随笔為你收集整理的linux在所有文件中查找某一个字符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springMVC注解中@Request
- 下一篇: Linux服务器后台运行jar包