当前位置: 首页 > 知识库问答 >
问题:

Linux读取数组[重复]

姚骁
2023-03-14

我试图将/etc/passwd文件(1,6)中的两个字段读入数组。
我可以将字段设置为变量,但不能设置为数组。

这段代码将获取1000以上的所有用户,并返回用户和主目录。

users=$(awk -F'[:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' /etc/passwd)

共有1个答案

鞠子轩
2023-03-14

试试看:

while IFS=: read -r user _ uid _ _ homedir _
do
    (( uid > 999 && uid != 65534 )) && arr+=( "$user":"$homedir" )
done < "/etc/passwd"

printf '%s\n' "${arr[@]}"

此脚本处理/etc/password读取while循环中的每一行。

  • 每一行都按照$ifs的值拆分。
  • $ifs仅在读取命令期间设置为:
  • 拆分的值被分配给几个变量(user、uid、homedir、_)。
  • 变量_用于丢弃不需要的值。
  • 然后,仅当UID有效时,才将记录添加到数组(+=(…))。
  • 数组中的记录用冒号(:)
  • 连接
 类似资料:
  • 我是React的初学者。我有一个非常简单的代码。(还有其他问题似乎与此相同,但它们不是。在标记重复之前,请阅读内容,而不仅仅是标题。) 我错过了什么。我还应该知道什么。 PS:我没有任何其他单独的组件或代码。所有的东西都在类本身里面。

  • 我退出新的MongoDB。我有一个收藏,里面几乎没有文件。下面是一个例子。 我想获得数组中所有条目的标记以显示它们,并使用java进行一些计算。到目前为止,我已经完成了阅读文档和显示所有数据的工作。但我找不到一种方法,只能从中得到“标记”。 到目前为止,关于使用Java从MongoDB读取数据,我只知道这些。请帮助我将文档中的“标记”字段仅获取到数组中<谢谢你。

  • 我有libelum传感器节点与BLE模块一起工作,我试图从该模块发送“Hello world”消息,我想从我的Linux设备(笔记本电脑)读取该消息,我已经尝试了下面的命令,可以通过使用 和 我的第一个问题是,有可能看到(阅读)我的笔记本电脑中的数据包(“Hello World”)吗?怎么做?我用的是Bluez-5.18。

  • 我遇到了一个挑战,我必须读取CSV文件并将其读取,直到定义的可变大小限制(BATCH_SIZE)。读取 CSV 中的行数后,将其发送到不同的 AWS API。由于我的CSV文件大小可以是1Gb到2Gb的任何地方,因此我避免使用JSR223 CSV文件读取。我想知道如何使用JMeter和CSV数据集配置来实现它。

  • 问题内容: 我正在尝试读取JSON数组。这是我的代码。 我的示例JSON文件语法如下所示, 前面有一个大括号。当我尝试执行此代码块时,出现错误提示 JSONArray文本必须在....的字符1处以’[‘开头。 有没有人遇到过这样的问题?任何帮助将不胜感激。如果可以的话,请告诉我一个示例代码块。提前致谢。 问题答案: JSON对象以a开头,以a 结尾,而JSON数组以a开头,以a 结尾。 根据您的情

  • 所以,我试图让我的程序从文本文件中读入一个结构数组,它编译得很好,但看起来并没有真正读入值?...我不知道为什么。这是代码的相关部分: 这是txt文件(标题:Planets.txt) 水星120 50 500 12.1 30 2金星120 50 500 29.1 30 6地球120 50 500 32.2 30 7月亮120 15 50 5.3 30 2火星120 50 500 12.2 30 4