我知道如何在Linux上获得awk的版本:awk -W version
然而,这在macOS上是行不通的。
我环顾四周,找不到任何东西。
我还查看了awk手册页面,但找不到任何东西:
$ man awk | grep version
conversion format used when converting numbers (default %.6g)
There are no explicit conversions between numbers and strings. To
假设在linux中有一个文件,它的行用空格分隔。
例如:
This is linux file
This is linux text
This is linux file 1
This is linux file 3
现在我只想打印那些在文件行中有第5列的行。在本例中,我的输出应该是第3行和第4行(其中1和3作为第5列)
做这件事最好的方法是什么?
样本文本
I like Linux
I like Microsoft
I like Solaris
I hate Linux
I hate Microsoft
I hate Solaris
我试图找出一个与regex X匹配但没有regex的行。使用示例文本,我试图得到以下内容。
I like Linux
I like Microsoft and Linux
I like Solaris and Linux
I hate Linux
I hate Microsoft
I hate Solaris
请注意,它只添加到有like而没有Linux的行中。
我有很多文本文件,我想在linux中创建一个bash脚本,在每一行文件中打印文件名。例如,我有lenovo.txt文件,我希望文件中的每一行都以lenovo.txt开头。
我试着为这个做一个" for“,但没有起作用。
for i in *.txt
do
awk '{print '$i' $0}' /var/SambaShare/$i > /var/SambaShare/new_$i
done
谢谢!
我对shell脚本很陌生,我需要的是从包含2d数组的文件中读取。假设有一个名为test.dat的文件,该文件包含如下值:
- Paris London Lisbon
- Manchester Nurnberg Istanbul
- Stockholm Kopenhag Berlin
在linux脚本中从这个表中选择元素的最简单方法是什么?例如,用户输入-r 2 -c 2 test.dat,这意味着在row2和列处选择元素。
我看过read命令并搜索过,但大多数示例都是关于一维数组的。
one看起来很眼熟,但并不能准确理解它。