获取数组的最后一个元素

时间:2018-04-03 21:34:22

标签: arrays bash

我有一个看起来像这样的字符串:

Current working dir is /usr/local/Cellar/clamav/0.99.4/share/clamav
Max retries == 5
ERROR: Can't create temporary directory /usr/local/Cellar/clamav/0.99.4/share/clamav/clamav-07bc3bfeabec6a3bd40e8c2fdf126323.tmp
Hint: The database directory must be writable for UID 501 or GID 20

运行data=$(echo $string | grep -o -E '[0-9]+')它会提供如下所示的变量:0 99 4 5 0 99 4 07 3 6 3 40 8 2 126323 501 20。我假设这是一个数组,因为当我运行以下内容时:

for el in "${data[@]}"
do 
  echo "${el}"
done

将输出:

...
99
4
07
...
501
20

我需要做的是获取此数组(?)中的最后两个数字并将它们放入命令中。如何从给定数组中成功提取最后两个数字?

3 个答案:

答案 0 :(得分:2)

你没有数组,需要更多括号:

./my-script.sh | tail -2 | my-next-command

答案 1 :(得分:0)

使用

PS C:"Some_Path"> $newFiles = Get-ChildItem . *.par -rec 
foreach ($file in $newFiles)
{(Get-Content $file.PSPath) | Foreach-Object { $_ -replace "[text]", " /Text/Text_Data1::[404PC001]" } | Set-Content $file.PSPath }

或将其写入临时文件

答案 2 :(得分:0)

Giles 所述,我没有数组。然而,我能够使用以下内容将UID和GID分成单独的变量:

match