arrays - 如何将 "empty line"模式的文件拆分为变量数组? (仅使用 native bash)

标签 arrays bash split newline

我实际上是在使用 bash 脚本处理深层文件夹结构,并提取信息(相关文件夹大小、从配置文件中提取的文本等...),将它们推送到数据库中进行汇总。

“没有新进程”是我对这个脚本的规则,因为每个文件夹都会导致大约 300 个 conf 文件,而我有大约 10.000 个文件夹……所以请只使用 native 命令。

这是我实际尝试使用的一个输入文件的一部分:

include_ldap_query
attrs mail
ssl_ciphers ALL
filter (mail=john.doe*)
name MyRequestName1
host myldaphost:30002
use_ssl no
passwd MyPassword
timeout 60
suffix ou=collaborators,ou=My Company,ou=people,dc=MyLdapContent,dc=MyCompany,dc=fr
user uid=MyUserID,ou=accounts,dc=MyLdapContent,dc=MyCompany,dc=fr
ssl_version sslv2
scope sub
select all

include_ldap_query
attrs mail
ssl_ciphers ALL
filter (mail=janedoe*)
name MyRequestName2
host myldaphost:30002
use_ssl no
passwd MyPassword
timeout 60
suffix ou=collaborators,ou=My Company,ou=people,dc=MyLdapContent,dc=MyCompany,dc=fr
user uid=MyUserID,ou=accounts,dc=MyLdapContent,dc=MyCompany,dc=fr
ssl_version sslv3
scope sub
select first

include_ldap_query
attrs mail
ssl_ciphers ALL
filter (mail=jimmy.page*)
name MyRequestName3
host myldaphost:30002
use_ssl no
passwd MyPassword
timeout 60
suffix ou=collaborators,ou=My Company,ou=people,dc=MyLdapContent,dc=MyCompany,dc=fr
user uid=MyUserID,ou=accounts,dc=MyLdapContent,dc=MyCompany,dc=fr
ssl_version sslv3
scope sub

我想将这些查询放入一个数组中,以便彼此分开工作。 我如何拆分空行模式?

最佳答案

不完全是纯 BASH,但您可以在 awk 中使用 null RS 在空行上进行拆分:

awk '{print NR ":", $0}' RS= file

关于arrays - 如何将 "empty line"模式的文件拆分为变量数组? (仅使用 native bash),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20240150/

相关文章:

python - 在 python 中索引向量列表

java - 从 Java Servlet 返回字符串数组到 jQuery

python - 使 np.sums 的 for 循环运行得更快的方法

java - 简单数组: Check to see if value matches

bash - 文件列表中带有awk的文件大小总和

linux - cd 命令在管道中的行为

java - PatternSyntaxException 尝试按 },{ 拆分时出现

bash - 如何从 bash 中的文件循环打印 2 列

python - 如何在Python中分割一首诗

PHP - 在键/值对中拆分字符串