linux find值赋值给数组
时间: 2023-10-05 08:11:48 浏览: 113
可以使用`xargs`和`readarray`命令将`find`命令的输出值存储到数组中。例如:
```
find /path/to/directory -type f -name "*.txt" | xargs -d '\n' readarray -t file_array
```
这将查找`/path/to/directory`目录下所有名为`*.txt`的文件,并将它们存储在名为`file_array`的数组中。你可以使用`${file_array[@]}`来访问数组中的所有元素。
相关问题
linux find值安行存入数组
可以使用`find`命令结合`readarray`命令将`find`命令的结果存入数组中。具体操作如下:
```bash
# 将 find 命令的结果存入数组 files 中
readarray -t files < <(find /path/to/dir -type f)
# 遍历数组
for file in "${files[@]}"
do
echo "$file"
done
```
其中,`-t`选项表示去除每行结尾的换行符。`< <(command)`是一个进程替换的语法,会将`command`的输出作为`readarray`的输入。
上述命令会将`/path/to/dir`目录下所有的文件路径存入`files`数组中,并遍历数组中的每个元素进行操作。
用VBA写将查找值所在的列赋值给数组
可以使用以下VBA代码将查找值所在的列赋值给数组:
```
Sub FindColumn()
Dim searchValue As Variant
Dim lastColumn As Long
Dim columnArray() As Long
Dim i As Long
searchValue = "value to search for"
lastColumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
ReDim columnArray(1 To lastColumn)
For i = 1 To lastColumn
If Cells(1, i).Value = searchValue Then
columnArray(i) = i
Else
columnArray(i) = 0
End If
Next i
End Sub
```
在上面的代码中,`searchValue`是要查找的值,`lastColumn`是工作表中最后一列的列号。然后,使用`ReDim`语句调整`columnArray`数组的大小以匹配工作表的列数。
在`For`循环中,使用`Cells`函数遍历工作表中的每一列。如果单元格中的值等于`searchValue`,则将列号存储在`columnArray`数组中的相应位置。否则,将0存储在数组中的相应位置。
请注意,此代码将列号存储在数组中,而不是将列范围存储在数组中。如果需要存储列范围,可以将数组类型更改为`Range`类型,并在循环中使用`Range`对象来定义每个列的范围。