awk中print $1啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了awk中print $1啥意思相关的知识,希望对你有一定的参考价值。

awk中print $1是输出结果的意思,awk是Linux处理文本的工具,用于显示文本。

例如:以空白分割,显示文本的第一段及第二段内容

[root@wei awk]# awk 'print $1,$3' print.txt 

i wei

i zhang

[root@wei awk]# awk 'print "hello",$3' print.txt 

hello wei

hello zhang

扩展资料:

awk的输出:一 print

print的使用格式:print item1,item,...

注意:

1、各项目间使用逗号分隔开,而输出时以空白字符串为分隔

2、输出的item可以为字符串,数值,当前的记录的字段($1),变量或者awk的表达式,数值会先转换字符串,然后输出

3、print命令后面的item可以省略,此时其功能相当于print($0代表未分割的整行文本内容),因此,如果想输出空行,则需要使用print "";

参考技术A 给你举个例子,echo "aa bb cc" | awk -F 'print $1' 结果就是aa,意思是把字符串按空格分割,取第一个,自己做个测试就明白了!本回答被提问者采纳 参考技术B awk是用来提取列的主要工具;
print $1就是将某一行(一条记录)中以空格为分割符的第一个字段打印出来
参考技术C 打印第一个

整数值?? 0 == -1? “-”:“+”是啥意思?

【中文标题】整数值?? 0 == -1? “-”:“+”是啥意思?【英文标题】:IntValue ?? 0 == -1? "-": "+" What does this mean?整数值?? 0 == -1? “-”:“+”是什么意思? 【发布时间】:2019-04-25 16:08:40 【问题描述】:

我正在导入价格信息并添加 + 或 -。

我把标题代码放在 print() 中,它可以工作,但我不知道它是什么意思。

print("\(IntValue ?? 0 == -1 ? "-" : "+")")

请给我简单解释一下。

【问题讨论】:

【参考方案1】:

凯文的回答很好。

一些有助于进一步解释的背景:

您发布的代码同时使用了两个相当神秘的运算符。

?? 是零合并运算符。

它接受一个可选值,它可以包含 nil,并在它确实包含 nil 时提供一个新值。


编辑:

(请注意,您可以跳过 nil-coalescing 运算符并改用 IntValue == -1。这是因为只有 -1 的非 nil 值等于 -1。包含 nil 的可选项不等于-1.

你可以将这一行改写为

print("\(IntValue == -1 ? "-" : "+")")

并得到相同的结果。)


下一个棘手的问题是“三元运算符”。这来自 C。它非常神秘,但也非常有用。

它采用boolean 的形式? value_for_true : value_for_false

其中boolean 是一个布尔表达式,计算结果为truefalse

如果boolean为真,那么整个三元表达式的结果就是value_for_true子表达式。

如果boolean 为假,则整个三元表达式的结果就是value_for_false 子表达式。

IntValue ?? 0 == -1 是三元表达式的布尔部分。如果 IntValue 为 -1,则评估为真。如果 IntValue 包含任何其他值,或者它包含 nil,则它评估为 false。

(注意变量和let常量应该以小写字母开头,所以IntValue应该是intValue。)

【讨论】:

【参考方案2】:

变量IntValue 是可选的,这意味着它可以是整数或nilIntValue ?? 0 表示如果IntValue 存在,则使用IntValue 的值。如果IntValuenil,则使用值0。接下来,将该值与-1 进行比较。如果该值等于 -1,则打印 -。如果该值不等于 -1,则打印 +

以下是仅使用 if 语句的等效代码:

var defaultInt = 0
if IntValue != nil 
    defaultInt = IntValue! // force unwrap the optional value

if defaultInt == -1 
    print("-")

else 
    print("+")

【讨论】:

我认为应该是if IntValue != nil,因为如果不是nil,你只想使用IntValue的值;否则使用0 War10ck 是对的。那行应该是if IntValue != nil

以上是关于awk中print $1啥意思的主要内容,如果未能解决你的问题,请参考以下文章

awk 'print $2' 这个命令是啥意思?

linux知识: $ awk 'print $3' score sort uniq -c是啥意思?

awk中 NR 和 NF到底是啥意思? 能举例说明吗?

awk中单独的¥号代表啥?

linux shell grep -v grep|awk ‘{print $1}‘ 是什么意思

bash中的冒号破折号“:-”是啥意思[重复]