首页 > 其他分享 >四剑客常用总结

四剑客常用总结

时间:2024-03-15 15:46:04浏览次数:14  
标签:总结 常用 sed -- 剑客 awk file txt find

四剑客常用总结

find

`find` 命令在Linux中是一个极其强大的工具,用于在文件系统中搜索符合特定条件的文件和目录。以下是 `find` 命令一些常用的选项:









1. **-name**:按名称查找文件。例如,查找所有扩展名为 `.txt` 的文件:
   ```bash
   find /path/to/search -name "*.txt"
  1. -type:按照文件类型查找。比如查找所有普通文件:

    find /path/to/search -type f
    

    或者查找所有目录:

    find /path/to/search -type d
    
  2. -size:按照文件大小查找。例如查找大于1MB的文件:

    find /path/to/search -size +1M
    
  3. -mtime/-atime/-ctime:按文件修改时间、访问时间和状态改变时间查找。例如查找过去7天内修改过的文件:

    find /path/to/search -mtime -7
    
  4. -perm:按权限查找。例如查找权限位为755的所有文件:

    find /path/to/search -perm 755
    
  5. -user-group:按照文件所有者和组查找。例如查找属于特定用户的所有文件:

    find /path/to/search -user username
    
  6. -exec-ok:执行命令对搜索结果进行操作。例如删除所有临时文件:

    find /tmp -name "temp*" -exec rm -f {} +
    
  7. -empty:查找空文件或空目录:

    find /path/to/search -empty
    
  8. -maxdepth-mindepth:限制搜索深度。例如只查找当前目录下的文件,不进入子目录:

    find . -maxdepth 1 -name "*.log"
    
  9. -newer:查找比指定文件新(或者旧)的文件:

    find . -newer reference_file
    
  10. -depth:先处理子目录中的文件,再处理目录自身。

这些只是 find 命令众多选项中的一部分,实际应用中可根据需要组合不同选项实现复杂的文件搜索和处理任务。






















## grep



grep 是 Linux 和类 Unix 系统中一个强大的文本搜索工具,它可以基于正则表达式搜索文件内容。以下是 grep 命令一些常见的选项:

  1. -i--ignore-case:忽略大小写差异,使搜索时不区分大小写。

    grep -i "search_text" file.txt
    
  2. -v--invert-match:反转匹配,输出的是那些不包含匹配模式的行。

    grep -v "exclude_text" file.txt
    
  3. -n--line-number:显示匹配行及其对应的行号。

    grep -n "pattern" file.txt
    
  4. -w--word-regexp:匹配整个词,确保匹配的是完整单词而不是单词的一部分。

    grep -w "word" file.txt
    
  5. -c--count:仅显示匹配行的数量,不显示具体内容。

    grep -c "text" file.txt
    
  6. -r--recursive:递归地搜索指定目录及其子目录中的文件。

    grep -r "search_pattern" directory/
    
  7. -l--files-with-matches:只列出包含匹配项的文件名,而不显示匹配内容。

    grep -l "text" *.txt
    
  8. -A NUM--after-context=NUM:显示匹配行之后的 NUM 行上下文。

    grep -A 3 "search_text" file.txt
    
  9. -B NUM--before-context=NUM:显示匹配行之前的 NUM 行上下文。

    grep -B 2 "search_text" file.txt
    
  10. -C NUM--context=NUM:同时显示匹配行前后各 NUM 行的上下文。

    grep -C 2 "search_text" file.txt
    
  11. -e--regexp=PATTERN:指定要使用的正则表达式模式,当你需要匹配多个模式时,可以多次使用此选项。

    grep -e "pattern1" -e "pattern2" file.txt
    

以上选项可以根据需要组合使用,以便更精确地搜索和筛选文本内容。














## sed







sed (Stream EDitor)是一个强大的文本流编辑器,在Unix和类Unix系统中广泛使用,尤其适用于对文本流进行逐行处理。以下是一些 sed 命令的常用选项:

  1. -n--quiet--silent:取消默认打印行为,只有当使用 p 命令显式打印时才会输出行。

    sed -n '/pattern/p' file.txt
    
  2. -i:直接修改原文件内容,而非仅显示修改后的结果。

    sed -i 's/original/replacement/g' file.txt
    
  3. -e:允许多个编辑命令在同一行中指定,或者在一个命令行中执行多个操作。

    sed -e 's/pattern/replacement/' -e 'd' file.txt
    
  4. -f script-file:从指定的脚本文件中读取 sed 命令集。

    sed -f commands.sed file.txt
    
  5. -r--regexp-extended:启用扩展正则表达式,使得可以使用更复杂的正则特性。

    sed -r 's/(foo|bar)/replacement/g' file.txt
    
  6. -l--line-length=N(某些版本的sed):设置输出行的最大宽度。

  7. -s--separate(GNU sed):将多个文件视为独立的文件而不是连续的输入流。

    sed -s '...' file1.txt file2.txt
    

基本命令示例:

  • a\:在当前行后追加文本
  • i\:在当前行前插入文本
  • c\:替换整行内容
  • d:删除匹配的行
  • p:打印当前行(默认行为,除非使用了 -n
  • s/old/new/flags:替换模式,替换文本中匹配的部分
  • y/source/dest:字符转换,将source中的字符替换成dest中的对应字符

地址定界:

  • address:可以是行号(如 3)、行号范围(如 1,55,$ 表示第五行到末尾)、正则表达式(如 /^start/)等,用来限定命令作用的行范围。

记住,对于大多数 sed 命令,你可以结合 -e 选项一次指定多个命令,也可以通过 -f 加载外部脚本来组织复杂操作。










## awk





awk 是一种强大的文本分析工具,通常用于处理结构化文本数据。以下是 awk 命令的一些常用选项和参数:

  1. -F--field-separator:指定输入字段的分隔符,默认情况下,awk 以空格或制表符作为字段分隔符。例如,如果你的数据是以逗号分隔的,可以这样指定:

    awk -F ',' '{print $1, $2}' input.csv
    
  2. -v--assign:定义 awk 的内建变量。这允许你传递外部 shell 变量到 awk 脚本中,或者初始化 awk 内部变量:

    awk -v myvar="$external_var" '{print $0, myvar}' file.txt
    
  3. -f scriptfile--file=scriptfile:从指定的脚本文件中读取 awk 脚本命令。

    awk -f script.awk input.txt
    
  4. -i inplace(GNU awk 版本特有):直接修改原文件内容,类似于 sed -i

    gawk -i inplace '{...your code...}' file.txt
    
  5. -W compat--compat:兼容老版本 awk 的行为。

    awk -W compat '{...}' file.txt
    

基本用法示例:

  • awk '{print $1}' file.txt:打印文件中每一行的第一个字段。
  • awk '{if ($1 > 10) print $0}' file.txt:如果第一字段大于10,则打印整行。
  • awk -F: '{print $1}' /etc/passwd:以冒号作为分隔符,打印 /etc/passwd 文件中每一行的第一字段。

此外,awk 还可以通过内置的正则表达式支持、逻辑判断和循环等功能进行复杂的文本处理。动作块 {...} 中可以编写包括但不限于 print、printf、next、exit、getline 等多种操作指令。




## 

标签:总结,常用,sed,--,剑客,awk,file,txt,find
From: https://www.cnblogs.com/nwq1101/p/18075558

相关文章

  • 四剑客第六关
    四剑客第六关使用find将目前目录及字目录所有扩展名是c的列出来find.-name"*.c"使用find将当前目录和字目录所有一般文件列出find.-typef[root@master~]#find.-typef./.bash_logout./.bash_profile./.bashrc./.cshrc./.tcshrc./anaconda-ks.cf......
  • 分享两款常用的Android手机投屏软件
    1.AnLink下载链接:https://cn.anlinksoft.com/仅Windows可用,界面非常友好,文件传输也方便小米新系统澎湃会无法点击  2.scrcpyscrcpy同时适用于GNU/Linux,Windows和macOS。 仅显示设备屏幕,轻量化,其他操作需要命令行输入或快快捷键下载链接:https://github.com/Genymobi......
  • 知识点总结,c,c++的各种知识点
    、1、C/C++1.1关键字(参考”嵌入式及Linux那些事“以及众多帖子汇总而成)volatile​ 当声明指向设备寄存器的指针时一定要用volatile,它会告诉编译器不要对存储在这个地址的数据进行假设。​ 中断服务程序中修改的供其他程序检测的变量。中断中直接从变量地址中读取数......
  • 常用Shell脚本 - 开发环境安装
    功能描述在AmazonLinux上快速安装开发环境,包括Python3.11.8,Nodejs,npm,yarn,GO工具。#!/bin/bash#@Author:LanShiyun#@CreateTime:2024/3/15#@FileName:install_development_env.sh#@Version:1.0#@Software:VSCode#@UpdateTime:2024/3/15#......
  • 常用Shell脚本 - Docker and Docker-compose 安装
    功能描述在AmazonLinux上自动安装DockerandDocker-compose#!/bin/bash#@Author:LanShiyun#@CreateTime:2024/3/15#@FileName:install_docker_4_aws_.sh#@Version:1.0#@Software:VSCode#@UpdateTime:2024/3/15#@UpdateBy:LanShiyun#@Des......
  • MirageJS 使用总结 vue2上亲测使用
    注:MirageJS英文文档看的头疼,且百度上都是片段比较多,本着拿来主义的思路,就把代码粘贴上,这样不仅方便自己,也能方便大家简单介绍一下他的好处及功能MirageJS是一个用于模拟服务器端数据和网络请求的JavaScript库,它可以帮助开发者在前端环境中创建假数据、定义路由和处理请求。......
  • VS中常用的快捷键
    Ctrl+k+d快速对齐代码Ctrl+z撤销Ctrl+s保存Ctrl+j快速弹出智能提示Shift+End、Shift+Home、Shift+上下左右选中单行内容Ctrl+k+c快速注释选中内容Ctrl+k+u快速取消注选中的注释内容Ctrl+k+/取消或添加行注释Ctrl+k+s插入外侧代码......
  • MeterSphere接口自动化系列之JSONPath常用提取方式
    一、使用场景        针对接口返回结果,提取相应的信息,用于后续接口输入或用于执行结果断言,对应平台的后置操作、断言规则页签。        二、常用方式实例接口返回结果{"code":0,"data":{"cart":{"id":"34253627754......
  • Django ORM 常用的13个方法
    DjangoORM常用的13个方法介绍一个可以以py脚本方式运行ORM操作的方法:可在项目内新建个py文件,复制项目内manage.py文件中的以下代码:if__name__=="__main__":os.environ.setdefault("DJANGO_SETTINGS_MODULE","ORM1.settings")importdjango#手动添加......
  • python项目开发——总结笔记(csv excel读取 服务端端口进程 拟合预测 时间格式转化 服
    目录部署服务端程序主服务端控制程序main.py子目录的计算程序jisuan.py读取数据读取csv数据读取读取excel时间格式转换时间戳转datetime并且生成时间序列最后格式化时间 常用函数拟合预测服务端程序控制与维护部署服务端程序主服务端控制程序main.pyfromfl......