Linux查找文件内容


1.从文件中查找指定字符串:

grep ‘energywise’ *           #在当前目录搜索带'energywise'行的文件

grep -r ‘energywise’ *        #在当前目录及其子目录下搜索'energywise'行的文件

grep -l -r ‘energywise’ *     #在当前目录及其子目录下搜索'energywise'行的文件,但是不显示匹配的行,只显示匹配的文件

 

从文件内容查找与正则表达式匹配的行:
$ grep –e “正则表达式” 文件名

查找时不区分大小写:
$ grep –i "被查找的字符串" 文件名

查找匹配的行数:
$ grep -c "被查找的字符串" 文件名

从文件内容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名

在ubuntu中根据文本内容全局查找所在位置:
sudo find . -name "*.py" | xargs grep "/home/name/output.txt"

(在所有的后缀.py文件中,查找含有文字为“/home/name/output.txt”所在位置)

2.复制文件夹

复制文件夹下的所有文件: sudo cp -r /home/name/pro/ ./

                                                           待复制文件夹        复制地方

3.文件重命名

rename -v 's/39-1001/391001/' *.jpg    #将jpg名字中的“39-1001”转化为“391001”

rename -n s/\.jpg$// *      rename(25070470000.jpg, 25070470000)

rename -n 's/$/000/' *       rename(25070470000, 25070470000000)
rename -n s/$/\.png/ *       rename(25070470000000, 25070470000000.png)
rename 's/^/x1/' *   文件名字开头加x1

4.压缩文件

tar cvf 压缩名字 文件夹名字

5.将rgb文件夹下的所有图片名字输出至txt:

ls -R * > 1.txt

6.查看目录文件大小

sudo du  -sh /home/name

sudo du  -sh /home/name/*

7.文本处理

显示文件行数:wc -l file.txt
删除文件第一行: sed -i '1d' file.txt
数据是以,隔开的,提取特定列:awk -F ',' '{print $11,$12}' crop.txt > crop2.txt  保存数据的11列和12列到另一文件

截取a.txt前100行到b文件:head -100 a.txt >b.txt
截取a.txt后100行到b文件:tail -100 a.txt >b.txt
查看文件a.txt的第190行到196行:sed -n '190,196p' a.txt
如果查看某一行用:sed -n '190,1p' a.txt

 

 

 

                                                           

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM