shell将行号赋值给数组
时间: 2023-05-14 22:04:56 浏览: 47
可以使用以下命令将行号赋值给数组:
```shell
arr=($(awk '{print NR}' file.txt))
```
其中,`awk '{print NR}' file.txt` 会输出文件 `file.txt` 中每一行的行号,`$()` 将其作为一个命令执行,并将结果赋值给数组 `arr`。
相关问题
如何给二维数组赋值
给二维数组赋值可以使用双重循环,遍历每个元素并逐个进行赋值。例如,以下是一个3*3的二维数组赋值的示例代码:
```python
matrix = [[0 for j in range(3)] for i in range(3)] # 创建一个3*3的二维数组,每个元素初始化为0
for i in range(3):
for j in range(3):
matrix[i][j] = i + j # 对每个元素进行赋值,赋值规则为该元素的行号和列号之和
print(matrix) # 输出赋值后的二维数组
```
输出结果为:
```
[[0, 1, 2], [1, 2, 3], [2, 3, 4]]
```
其中,第i行第j列的元素的值为i+j。
shell将文本指定行内容的行号输出
可以使用grep命令来输出文本中指定内容所在的行号。grep命令可以用于在文件中搜索指定的文本,并输出包含该文本的行。
例如,要输出文本文件file.txt中包含字符串"hello world"的行号,可以使用以下命令:
```
grep -n 'hello world' file.txt | cut -d: -f1
```
其中,-n选项表示输出包含匹配文本的行号,cut命令用于去掉输出结果中的冒号和匹配文本。执行以上命令后,将输出包含字符串"hello world"的行号。
如果要输出多个匹配文本所在的行号,可以使用grep命令的-r选项,如下所示:
```
grep -rn 'pattern' /path/to/directory | cut -d: -f1
```
其中,-r选项表示递归搜索指定目录下的所有文件,pattern是要搜索的文本,/path/to/directory是要搜索的目录。执行以上命令后,将输出所有包含匹配文本的文件名和行号。
使用grep命令可以方便地在脚本中搜索文本文件,并输出匹配文本所在的行号。