我是一名新手shell脚本编写者,对于使用的awk -FS
和awk -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'-'
与-F "S-"
是相同的。因此,echo "QRS-TUV" | awk -FS'-' '{print $1, $2}'
输出QR TUV
。 - glenn jackmanecho "ABC-DEF" | awk -FS'-' '{print $1,$2}'
时,我只得到了 ABC-DEF。 - sdgd