gpt4 book ai didi

linux - shell 脚本中 awk -FS 和 awk -f 的区别

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:17:56 24 4
gpt4 key购买 nike

我是 shell 脚本的新手,我对使用的 awk -FSawk -f 命令很困惑。我已经尝试阅读多页关于这两者之间差异的内容,但无法清楚地理解。请帮忙。这是一个例子:让我们考虑一个文本文件,data.txt 包含以下详细信息。

S.No Product Qty Price
1-Pen-2-10
2-Pencil-1-5
3-Eraser-1-2

现在,当我尝试使用以下命令时:

$ awk -f'-' '{print $1,$2} data.txt

我得到以下输出:

1 Pen
2 Pencil
3 Eraser

但是当我使用命令时:

$ awk -FS'-' '{print $1,$2} data.txt

输出是:

1-Pen-2-10
2-Pencil-1-5
3-Eraser-1-2

我不明白它使用 -FS 命令的区别。有人可以帮我弄清楚这两个命令之间究竟发生了什么。谢谢!

最佳答案

你比你想象的更困惑。没有-FS

FS 是一个包含字段分隔符的变量。

-F 是一个将 FS 设置为其参数的选项。

-f 是一个选项,其参数是包含要执行的脚本的文件的名称。

您发布的脚本会产生语法错误,而不是您所说的它们产生的输出,所以我不知道该告诉您什么......

关于linux - shell 脚本中 awk -FS 和 awk -f 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29830238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com