Git从入门到进阶:常用命令与高级用法全解析Git是目前最流行的分布式版本控制系统,广泛应用于软件开发中的代码管理、团队协作与持续集成。...掌握Git不仅是程序员的基本功,更是高效协作和代码质量保障的关键。本文将带你系统梳理Git的常用操作,深入讲解高级功能与技巧,并提供最佳实践建议,帮助你从“会用”迈向“精通”。...+推荐的新命令,语义更清晰gitcheckout-b#创建并切换到新分支(等价于gitbranch+gitswitch)gitmerge#将指定分支合并到当前分支gitbranch-d...gitinitYourbranchisbehind执行gitpull更新本地cannotlockref执行gitfetch--prune清理过期引用五、总结技能等级掌握内容入门init,clone,add,commit,push,pull,status...是你的朋友遵循团队规范:统一分支命名、提交格式、工作流扩展阅读推荐:官方文档:git-scm.com/book/zh/v2《ProGit》第二版(免费在线)ConventionalCommits规范GitGUI
下面是我的配置文件里脚本,但我想上面的链接能提供你更多技巧: 技巧七、从格式化输出里提取一列(我最常使用的awk技巧) 我几乎天天都会使用它。真的。...经常会有一些输出,我只需要其中的第二列,或第三列,下面这个命令就能做到这些: #Sample output of git status -s command:$ git status -s M .bashrc....vim/bundle/extempore/ # Remove status code from git status and just get the file names $ git status...function col { awk -v col=$1 '{print $col}' } 这使得提取列非常容易,比如,你不想要第一列?...简单: $ git status -s | col 2 .bashrc .vim/bundle/extempore/ 技巧八、忽略头x个词 我对xargs很着迷,我感觉它就像一把快刀。
-W '`_l`' -- $curw)) return 0} # bind completion command for g to _gcompcomplete -F _gcomp g 技巧七、从格式化输出里提取一列...(我最常使用的awk技巧) 我几乎天天都会使用它。...经常会有一些输出,我只需要其中的第二列,或第三列,下面这个命令就能做到这些: #Sample output of git status -s command: $ git status -s M .bashrc....vim/bundle/extempore/ # Remove status code from git status and just get the file names$ git status -...function col { awk -v col=$1 '{print $col}'} 这使得提取列非常容易,比如,你不想要第一列?
传递给脚本的参数 ) # 执行语句(一般是一个方法) ;;esac$1 语句传递给脚本的第一个参数传递给脚本的参数 一般是start,stop,restart 之类的Maxwell 启停脚本解析这个脚本是一个用于管理...bin/maxwell --config $MAXWELL_HOME/config.properties --daemon else echo "Maxwell正在运行" fi}从...status_maxwell 函数中检查Maxwell状态。...awk '{print $2}' awk 是一个强大的文本处理工具,这里用来提取进程信息。{print $2} 指的是输出每行的第二列,通常这是进程ID。...根据不同的命令调用相应的函数。
命令: cat file | head -n 5000 | tail -n +2000 # 显示2000行到5000行 解析: tail -n +2000 表示的是从2000行开始显示; tail...comm默认输出三列,第一列为是差集A-B,第二列是差集B-A,第三列为A交B。 comm命令参数: -m m可以是1,2,3,表示的是不显示第m列,只显示剩余的两列。...-mn 同理,不显示第m列和第n列,只显示剩下的一列。 "从文件输入或其它。从命令输入时括号不可省略。...解析: 该命令的主体是一个awk语句:awk -F' ' '{}', 其中,-F指定每行的分隔符, '{}'是每行要执行的命令。...1]}' 解析: 该命令主要由两个awk通过管道连接组成,对每个awk分别讲解: (1)第一个awk:将所需要的字段匹配打印出来 通过执行第一个awk语句,可以输出下列格式: 0001 100 2 0001
Linux awk命令详细教程 awk是一种优秀的文本处理工具,在Linux系统日志分析、数据处理等场景广泛使用。本文详细介绍awk命令的用法,助你全面掌握这一利器。...-f scripfile: 从脚本文件中读取awk命令,免去命令行输入。 -o:输出文件名作为结果保存。 -c:只输出awk处理行的数量。...内置变量 变量 描述 $0 整行内容 $1 ~ $n 当前行的第1 ~ n个字段 NF 当前行的字段个数,即列数 NR 当前处理的行数,从1开始 FNR 各文件分别计数的行号 FILENAME 当前文件名...打印指定列 假设access.log的字段依次为ip、time、method、url、http_version、status_code、body_bytes_sent,打印每行第1、4、7列: awk...匹配指定列 在student.txt中筛选第2列值为Tom的行: awk '$2 ~ /^Tom$/' student.txt 7.
收集信息 得益于今年工作的稳定,所有本地代码仓库都老实地放在各个 jetBean 软件目录下,而且代码版本控制工具上,工作用 Gitlab,业余用 Github,都属于 git 系列,所有的提交记录都可以从...git log 使用 git log 命令可以很方便地查看 git 的提交记录,我们在 git 目录下,不带任何参数使用 git log 命令时,会像平常使用 less 等命令时,进入一个内容浏览界面,...这里我使用了 find、 xargs 和 awk 命令,命令如下: find ....sort -f '*' -kn 以 * 分隔每行后,按第 n 列排序; 分析命令 贴两个所用的分析命令吧。 提交代码最多时段。...第二项是项目名,第五项是日期。
本文将带你用几行命令实现提交次数+代码行数的精准统计,并通过printf格式化让结果整齐到“强迫症治愈”,新手也能直接复制使用。 一、为什么要做贡献统计?...二、核心脚本:一行命令搞定统计+对齐 以下脚本是本文的“核心武器”,只需复制到终端执行,就能输出左对齐的作者名和右对齐的数字列,适配所有终端环境: # 统计“提交次数+代码行数”,printf精准对齐...%10d %10d %10d\n", auth, cnt, add, subs, add - subs; } ' done 三、脚本拆解:每一行都有意义 为了让你知其然更知其所以然,我们逐行解析脚本逻辑...2. git shortlog -sn:获取作者与提交次数 git shortlog -sn s(–summary):只输出“提交次数 + 作者名”,隐藏具体提交信息; n(–numbered):按提交次数从多到少排序...解决: 统一Git配置:要求团队成员执行以下命令配置身份(替换为真实信息): git config --global user.name "你的姓名" git config --global user.email
众所周知,awk不是一个工具/命令,它其实是一种『编程语言』。 对于后台开发工程师而言,不管你是什么语言的工程师。对于统计线上数据,从日志提炼信息等等场景,awk都是必备神器!...场景1: 一个TAB分割的数据文件,假设名为data.txt,第二列为用户id。...从中筛选用户id为123的所有数据: awk -F'\t' '{if($2==123) print $0}' data.txt > new_data.txt awk的列从1计数,1是第一列,2是第2...(分号也可以去掉) BEGIN语法是在逐行解析之前执行的一段代码。...后面的代码块开始逐行解析,用data.txt的第二列做key去关联数组a中查找。如果查找到value为1,就输出整行。 关联数组就类似其他语言里面的dict或map。
AWK实现原理 当读到第一行时,匹配条件,然后执行指定动作,再接着读取第二行数据处理,不会默认输出。...AWK使用格式 格式1: awk 【选项】 '模式或条件{操作} ' 文件名 内置函数 内置函数 含义 NR 表示该行的第几行 NF 表示该行有多少列 FNR 读取文件的记录数(行号),从1开始...,新的文件重新从1开始计数 FS 字段分隔符,指定每行字段的分隔符,默认空格,相当-F OFS 表示输出的内容以什么为分割符(默认空格) RS 行分割符,awk从文件上读取资料时,将根据RS的定义把资料切割成许多条记录...:分割,打印第二行的第一列 BEGIN:一般用来做初始化操作,仅在读取数据记录之前执行一次 END:一般用来做汇总操作,仅在读取完数据记录之后执行一次 [root@host1 test]# awk 'BEGIN...{FS=":"}NR==2{print $1}' passwd1bin passwd1,每列按照:分割,第一列和第二列按照#分割输出(OFS定义了输出时以什么分隔,12中间要用#分隔) [root@host1
x 只显示全列匹配的列-o 只显示匹配部分-v 反向匹配-c 计算匹配数-e 用于匹配多个字符从文本中查询打印内容# 查看测试文本[root@VM_0_3_centos ~]# cat text 1:1232...常用命令选项-F fs fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:-v var=value 赋值一个用户定义变量,将外部变量传递给awk-f scripfile 从脚本文件中读取awk命令...这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。awk常用内置变量$n 当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。...123# 输出以:分隔的第二列[root@VM_0_3_centos ~]# awk -F: '{print $2}' awk.text 123234345# 格式化输出(在awk的print语句块中双引号是被当作拼接符使用...)[root@VM_0_3_centos ~]# awk -F: '{print $1 "@" $2}' awk.text 1@1232@2343@345# 输出第一列和第二列内容[root@VM_0_
打印指定字段 # 打印 /etc/passwd 文件的第一列 (用户名) awk -F: '{print $1}' /etc/passwd # 打印 /etc/passwd 文件的第一列和最后一列 awk...而awk 则更像一个微型编程语言,它按字段处理数据,擅长从结构化文本中提取信息、计算、生成格式化的报告。...sed替换指定出现次数: 写一条 sed 命令,只替换 server.log 中每行第二次出现的冒号 : 为分号 ;。...sed打印: sed -n '2,4p' server.log 解析: -n 禁止默认输出。2,4 是行号范围地址,p 命令只打印这个范围内的行。...2 表示只替换每行中第二次出现的匹配项。 日期:2025年8月12日 专栏:Linux教程
git clone https://github.com/pyloque/shellquery_ppt.git 第一个文件groups.txt表示小组,有三个字段,分别是小组ID、小组名称和小组创建时间...awk可以用来对指定列内容进行文本匹配或者是数字匹配。...;"健康朝九晚五" 280;"核谐家园" # 只显示前3行的第一列和第二列,用空格作为分隔符 bash> cat groups.txt | head -n 3 | awk -F';' '{print $1...第一个进程处理了一行数据后从输出吐了出来,成了第二个进程的输入,在第二个进程对第一行数据进行处理的过程中,第一个进程又可以继续处理后面的行。...# 打印第二列小组名称的长度的所有可能的值的个数 # awk打印长度,sort -n按长度数字排序, uniq去重,wc -l统计个数 bash> cat groups.txt | awk -F';'
如果visit [[0]]返回一个等于零的数字或一个空字符串,则该否定结果将解析为true 。 ++操作将变量的值( Visited [$ 0] )加1。...为什么不使用 uniq 命令? uniq命令仅除去相邻的重复行 。...1 abc 2 ghi 3 abc 4 def 5 xyz 6 def 7 ghi 8 klm sort -uk2根据第二列对行进行排序 ( k2选项),并且只保留第一次出现的具有相同第二列值的行(u...1 abc 4 def 2 ghi 8 klm 5 xyz Sort-nk1根据行的第一列(k1选项)对行进行排序,并将该列视为数字(- n 选项)。...1 abc 2 ghi 4 def 5 xyz 8 klm 最后,cut-f2从第二列开始打印到结束(-f2-选项: 注意-后缀,指示其包括其余的行)。
1.4 检查是否安装成功 java -version 复制代码 出现以下画面表示jdk安装成功 2 Linux安装部署Jenkins 2.1 安装Jenkins: 方法一:使用sudo wget直接从服务器远程获取安装...noarch.rpm 复制代码 如图: ③启动jenkins: sudo service jenkins start 复制代码 课外知识: 知识1.查看jenkins运行状态: systemctl status...,如: clean install -Dmaven.test.skip=true -Ptest 复制代码 Post Steps:选Execute shell 填入shell命令:(这个shell命令只需要改三个变量替换成自己的就行...'{print $2}' 获取第二列数据 # xargs kill -9 xargs可以将返回的数据传到给下一个命令使用 ps -ef | grep ${JAR_NAME} | grep -v grep...| awk '{print $2}' | xargs kill -9 fi # 判定目录和文件是否存在 if [ !
$1 表示第一个域,$2 表示第二个域,$n 表示第 n 个域。 $0 表示整个记录。模式或动作都可以不指定,缺省模式的情况下,将匹配所有行。...218.56.42.148” $4 就是请求时间的前半部分 “[19/Apr/2017:01:58:04” $5 就是请求时间的后半部分 “+0000]” 以此类推…… 当我们使用默认的域分割符时,我们可以从日志中解析出下面不同类型的信息...现在,我们已经掌握了 awk 的基本知识,以及它是怎样解析日志的。...awk -F\" '{print $6}' access.log | sort | uniq -c | sort -fr 此命令行首先解析出浏览器域,然后使用管道将输出作为第一个 sort 命令的输入。...4域(第4列) sort:进行排序。
git clone https://github.com/pyloque/shellquery_ppt.git 第一个文件groups.txt表示小组,有三个字段,分别是小组ID、小组名称和小组创建时间...awk可以用来对指定列内容进行文本匹配或者是数字匹配。...;"健康朝九晚五" 280;"核谐家园" # 只显示前3行的第一列和第二列,用空格作为分隔符 bash> cat groups.txt | head -n 3 | awk -F';' '{print $1...第一个进程处理了一行数据后从输出吐了出来,成了第二个进程的输入,在第二个进程对第一行数据进行处理的过程中,第一个进程又可以继续处理后面的行。...# 打印第二列小组名称的长度的所有可能的值的个数 # awk打印长度,sort -n按长度数字排序, uniq去重,wc -l统计个数 # length($2)-2是去掉引号的长度 bash> cat
作者 :“大数据小禅” 专栏简介 :本专栏主要分享Linux技术,会涉及到常用的Linux命令操作,常用的服务部应用署以及相关运维知识,还有一些Linux系统的深层解析,Linux系列专栏地址,...[file] 如下所示:列是一竖列 处理海量数据之awk命令 语法: 特殊要点与举例说明: awk的一些特殊要点与举例说明 实战使用awk命令: -F #指定分割符 跟下面的FS命令相似 BEGIN #...cut -d ':' -f 1-3 /etc/passwd -是一列到第三列 eg: 以':'为分隔符,截取出/etc/passwd的第二列到最后一列 cut -d ':' -f 2- /etc/...passwd eg: 截取/etc/passwd文件从第二个字符到第九个字符 就是比如root:0000000,截取的就是00t:00000 cut -c 2-9 /etc/passwd eg: 比如领导想叫你截取...-sm *#统计各个文件的小 NR #行号 awk命令是不会像cut命令一样去识别类似于:这种分割符的 $1 #代表第一列 $2 #代表第二列 $NF#代表最后一列 实战使用awk命令: df -h
摘要:面对服务器端日志分析,中小团队往往缺乏部署ELK等重型平台的资源和时间,而纯命令行的grep/awk虽灵活却缺乏可视化透视能力。...一、日志解析的现实困境:重型平台太重,命令行太“浅”在日常开发与系统运维工作中,日志是定位线上故障、分析流量趋势、排查性能瓶颈的第一手资料。...传统用awk切割空格虽然可行,但遇到方括号和引号包裹的字段时,处理逻辑会迅速复杂化。...日期/时间"GET/api/v1/usersHTTP/1.1"Request文本200Status整数1234BodyBytesSent整数0.045UpstreamTime小数对TimeLocal列,...后续只需修改「参数」工作表中的日期单元格,点击刷新,整个解析和报表链自动更新。这种模板化思路,使得Excel从“一次性分析工具”升级为“轻量级可复用运维数据管道”。