Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_git_md_linux
提交
f93c22be
S
skill_tree_git_md_linux
项目概览
CSDN 技术社区
/
skill_tree_git_md_linux
通知
15
Star
4
Fork
3
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
skill_tree_git_md_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
f93c22be
编写于
1月 27, 2022
作者:
F
feilong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加awk
上级
3b632c35
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
104 addition
and
0 deletion
+104
-0
data/3.gml高阶/1.Linux实用命令/2.awk命令/1.txt
data/3.gml高阶/1.Linux实用命令/2.awk命令/1.txt
+9
-0
data/3.gml高阶/1.Linux实用命令/2.awk命令/config.json
data/3.gml高阶/1.Linux实用命令/2.awk命令/config.json
+11
-0
data/3.gml高阶/1.Linux实用命令/2.awk命令/exercise_01.json
data/3.gml高阶/1.Linux实用命令/2.awk命令/exercise_01.json
+8
-0
data/3.gml高阶/1.Linux实用命令/2.awk命令/exercise_01.md
data/3.gml高阶/1.Linux实用命令/2.awk命令/exercise_01.md
+76
-0
未找到文件。
data/3.gml高阶/1.Linux实用命令/2.awk命令/1.txt
0 → 100644
浏览文件 @
f93c22be
1. hello world
2. wold hello
3. nothing is important
4. i like movie movie
hello world
wold hello
nothing is important
i like movie movie
\ No newline at end of file
data/3.gml高阶/1.Linux实用命令/2.awk命令/config.json
0 → 100644
浏览文件 @
f93c22be
{
"node_id"
:
"gml-d6688990de744b7fa45a0b473dbeff83"
,
"keywords"
:
[],
"keywords_must"
:
[
"Linux命令"
],
"keywords_forbid"
:
[],
"children"
:
[],
"export"
:
[
"exercise_01.json"
]
}
\ No newline at end of file
data/3.gml高阶/1.Linux实用命令/2.awk命令/exercise_01.json
0 → 100644
浏览文件 @
f93c22be
{
"type"
:
"code_options"
,
"author"
:
"幻灰龙"
,
"source"
:
"exercise_01.md"
,
"notebook_enable"
:
false
,
"depends"
:
[]
}
\ No newline at end of file
data/3.gml高阶/1.Linux实用命令/2.awk命令/exercise_01.md
0 → 100644
浏览文件 @
f93c22be
# 实用Linux命令掌握20%:awk
Linux 命令很多,掌握最实用的一批命令,对于每个实用命令,又只需掌握20%最高频操作。
**本节知识**
:
假设文件
`1.txt`
的文本如下(可以利用
`touch`
命令和
`vi`
命令组合创建):
```
bash
1. hello world
2. wold hello
3. nothing is important
4. i like movie movie
hello world
wold hello
nothing is important
i like movie movie
```
`awk`
命令可以用来过滤文本,简单理解就是对文本的每行执行命令
`awk`
指定的脚本,它的基本命令格式如下:
```
bash
awk
'BEGIN{ commands } pattern{ commands } END{ commands }'
file
```
其中:
*
`'BEGIN{ commands }`
指定最开始执行的脚本
*
`pattern{ commands }`
对文件的每一行遍历,判断是否满足
`pattern`
的模式,如果满足则执行脚本
*
`END{ commands }`
指定最后执行的脚本
这里是最常用的几个操作例子:
*
打印“开始”,打印每行,打印“结束”:
`awk 'BEGIN{ print "开始" } { print } END{ print "结束" }' 1.txt`
*
打印每行的行号:
`awk '{print NR}' 1.txt`
*
打印每行的文本:
`awk '{print $0}' 1.txt`
*
打印每行的第1列(默认用空格分离):
`awk '{print $1}' 1.txt`
*
打印每行的最后1列(默认用空格分离):
`awk '{print $NF}' 1.txt`
*
打印每行的倒数第2列(默认用空格分离):
`awk '{print $(NF-1)}' 1.txt`
*
打印每行,并为每行带上行号:
`awk '{print NR":",$0}' 1.txt`
*
打印含有序号的行:
`awk '/\d./ {print}' 1.txt`
**本节任务**
:
1.
请在
[
线上Linux环境
](
https://edu.csdn.net/lab/36675?targetLesson=2692
)
里练习上述
`grep`
命令。
2.
以下对命令
`grep`
描述错误的是?
## 答案
```
bash
打印倒数第2列的命令是:
`
awk
'{print (NF-1)}'
1.txt
`
```
## 选项
### A
```
bash
打印倒数第2列的命令是:
`
awk
'{print $(NF-1)}'
1.txt
`
```
### B
```
bash
`
BEGIN
{
commands
}
`
是可以省略的
`
END
{
commands
}
`
是可以省略的
```
### C
```
bash
打印倒数第4列的命令是:
`
awk
'{print $4}'
1.txt
`
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录