awk打印指定行
时间: 2023-07-06 08:21:44 浏览: 77
如果你想要使用 awk 打印指定行,可以使用以下命令:
```
awk 'NR==n' file
```
其中,`n` 表示你想要打印的行数,`file` 表示文件名。这个命令会打印出文件中的第 `n` 行。
另外,如果你想要打印多行,可以使用以下命令:
```
awk 'NR>=start && NR<=end' file
```
其中,`start` 表示你想要打印的起始行数,`end` 表示你想要打印的结束行数,`file` 表示文件名。这个命令会打印出文件中从第 `start` 行到第 `end` 行的所有行。
相关问题
linux awk 指定换行符
在awk中,输入记录默认以换行符分隔。如果你想指定不同的换行符,可以使用RS变量来设置输入记录分隔符。例如,如果你想将输入记录分隔符设置为“|”号,可以这样写:
```
awk 'BEGIN { RS="|" } { print $0 }' file.txt
```
上面的代码中,`BEGIN`块中的`RS="|"`将输入记录分隔符设置为“|”号。因此,awk将每个以“|”号分隔的文本块视为一个单独的输入记录。`print $0`语句将每个输入记录打印到屏幕上。`file.txt`是输入文件的名称。
如果你想将换行符设置回默认值,请在BEGIN块中将RS变量设置为“\n”:
```
awk 'BEGIN { RS="\n" } { print $0 }' file.txt
```
用awk筛选掉指定行,并打印第一列
可以使用以下命令,在 awk 中同时筛选掉指定行并打印第一列:
```
awk 'NR!=3 {print $1}' file.txt
```
这个命令与上一个命令非常相似,只是添加了一个 {print $1} 的部分。这个部分告诉 awk 打印每一行的第一列。
因此,这个命令将从 file.txt 文件中筛选掉第三行,并打印每一行的第一列。输出将是:
```
Line
Line
Line
Line
```
如果你不想打印第一列,只需要将命令中的 {print $1} 部分删除即可。