shell中,awk命令的$0是什么意思?

比如awk "{print \$0}" 1.txt,我试了下是把1.txt全部显示出来了,
但是$0到底什么意思呢?$1呢?

shell命令awk '{print $0}' 1.txt 的意思是输出1.txt文件的所有内容。

shell命令awk '{print $1}' 1.txt的意思是输出1.txt文件的第一列内容。

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。

扩展资料:

shell的种类:

Linux中的shell有多种类型,其中最常用的几种是Bourne shell(sh)、C shell(csh)和Korn shell(ksh)。

1、Bourne shell是UNⅨ最初使用的shell,并且在每种UNⅨ上都可以使用。Bourne shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。

Linux操作系统缺省的shell是Bourne Again shell,它是Bourne shell的扩展,简称Bash,与Bourne shell完全向后兼容,并且在Bourne shell的基础上增加、增强了很多特性。

Bash放在/bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多C shell和Korn shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。

2、C shell是一种比Bourne shell更适于编程的shell,它的语法与C语言很相似。Linux为喜欢使用C shell的人提供了Tcsh。Tcsh是C shell的一个扩展版本。Tcsh包括命令行编辑、可编程单词补全、拼写校正、历史命令替换、作业控制和类似C语言的语法,它不仅和Bash shell是提示符兼容,而且还提供比Bash shell更多的提示符参数。

3、Korn shell集合了C shell和Bourne shell的优点并且和Bourne shell完全兼容。Linux系统提供了pdksh(ksh的扩展),它支持任务控制,可以在命令行上挂起、后台执行、唤醒或终止程序。

参考资料来源:百度百科-Linux Shell

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-13

shell命令awk '{print $0}' 1.txt 的意思是输出1.txt文件的所有内容。

shell命令awk '{print $1}' 1.txt的意思是输出1.txt文件的第一列内容。

awk是一个文本分析工具,他可以把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理,$几(0除外)就代表选取输出第几列数据,例如$2 是指第二个切片。print $2是打印第二个切片的值。

使用方法:awk '{pattern + action}' {filenames}。

扩展资料

调用awk的方式介绍:

1、shell脚本方式

将所有的awk命令插入一个文件,并使awk程序可执行,然后awk命令解释器作为脚本的首行,一遍通过键入脚本名称来调用。

相当于shell脚本首行的:#!/bin/sh

可以换成:#!/bin/awk

2、命令行方式

awk [-F  field-separator]  'commands'  input-file(s)

其中,commands 是真正awk命令,[-F域分隔符]是可选的。 input-file(s) 是待处理的文件。在awk中,文件的每一行中,由域分隔符分开的每一项称为一个域。通常,在不指名-F域分隔符的情况下,默认的域分隔符是空格。

本回答被网友采纳
第2个回答  推荐于2017-11-24
awk默认是以行为单位处理文本的,对1.txt中的每一行都执行后面 "{ }" 中的语句。
awk中的两个术语:
记录(默认就是文本的每一行)
字段 (默认就是每个记录中由空格或TAB分隔的字符串)
$0就表示一个记录,$1表示记录中的第一个字段。
一般 print $0 就是打印整行内容($0前面不需要反斜杠),print $1表示只打印每行第一个字段。本回答被提问者采纳
第3个回答  2011-06-25
awk默认是以行为单位处理文本的,对1.txt中的每一行都执行后面 "{ }" 中的语句。
awk中的两个术语:
记录(默认就是文本的每一行)
$0就表示一个记录,$1表示记录中的第一个字段。
一般 print $0 就是打印整行内容($0前面不需要反斜杠),print $1表示只打印每行第一个字段。
相似回答