使用'awk'在数组中存储特定的行号

时间:2017-11-29 15:29:24

标签: arrays awk

我有一个destination.properties文件:

df.apply(lambda x: pd.Series([1] * len(pd.date_range(x.Logon_time, x.Logoff_time, freq='T')), 
         index=pd.date_range(x.Logon_time, x.Logoff_time, freq='T')), axis=1)\
  .stack().reset_index(level=0, drop=True).resample('T').count()

我想使用awk命令来存储数组中包含单词“Port:”的所有行号。

我有以下命令存储第一个数组值中的所有行号,即数组[0]:

2016-01-04 09:19:00    1
2016-01-04 09:20:00    1
2016-01-04 09:21:00    1
2016-01-04 09:22:00    1
2016-01-04 09:23:00    1
Freq: T, dtype: int64

1 个答案:

答案 0 :(得分:3)

要将它们放入shell数组中,您可以执行以下操作:

array=( $(awk '/Port:/ {print NR}' destinations.prop) )

括号将单词分配给连续的数组成员。像往常一样,IFS控制该命令输出的拆分,如果碰巧输出通配符,也会发生文件名通配。在这种情况下可能不是问题。