这类似于在特定数量的分隔符后添加'\n',但是,如果组中的元素是可编程的,则假设该数字.
我们有:
aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj,kkk,lll,mmm
g=4
Run Code Online (Sandbox Code Playgroud)
我们想要
aaa,bbb,ccc,ddd
eee,fff,ggg,hhh
iii,jjj,kkk,lll
mmm
Run Code Online (Sandbox Code Playgroud)
我们如何用bash实现这一目标?
我尝试了很多选择.这是最新的失败(tmp []是数组):
for e in ${tmp[@]}; do
for i in $(eval echo "{0..$groupsof}"); do
foo[$i]=$e;
done
done
Run Code Online (Sandbox Code Playgroud) 我有 terraform 正在生成以下应用日志:
Terraform will perform the following actions:
# aws_lambda_permission.allow_bucket must be replaced
-/+ resource "aws_lambda_permission" "allow_bucket" {
action = "lambda:InvokeFunction"
function_name = "arn:aws:lambda:us-east-1:<secret>:function:ProggyS3ObjectCreatedHandler"
~ id = "AllowExecutionFromS3Bucket" -> (known after apply)
principal = "s3.amazonaws.com"
~ source_arn = "arn:aws:s3:::bucket-example-us-east-1" -> (known after apply) # forces replacement
statement_id = "AllowExecutionFromS3Bucket"
}
# aws_s3_bucket.bucket must be replaced
-/+ resource "aws_s3_bucket" "bucket" {
+ acceleration_status = (known after apply)
acl = "private"
~ arn = "arn:aws:s3:::bucket-example-us-east-1" -> (known after apply)
~ bucket …Run Code Online (Sandbox Code Playgroud) 我有一个阵列
["bob:12 elm st", "sally:100 digital ave", "tom:2324 elmhurst st"]
Run Code Online (Sandbox Code Playgroud)
我需要转换为
{"bob" => "12 elm st", "sally" => "100 digital ave", "tom" => "2324 elmhurst st"}.
Run Code Online (Sandbox Code Playgroud)
我知道我能做到
array.each do |e|
k = e.split(":").first
v = e.split(":").last
hash[k] = v
end
Run Code Online (Sandbox Code Playgroud)
有没有更优雅的方式来做到这一点?
我需要将git ls-remote的结果下拉到一个数组中,然后将该数组转换为这样的哈希:{commit_hash => reference}.有时,两个提交哈希值是相同的(但可能有不同的引用).所以我得到了这样的东西:
["19d97e408ee3f993745b053e281ac9dc69519e06","refs/heads/auto",
"8f6f47c6e8023540b022586e368c68e1e814ce6d","refs/heads/callout_hooks",
"3cbdb4b2fcb85bc7f0ed08b62e2bf2445a7659e8","refs/heads/elab",
"d38a9a26ef887c08b306bdab210b39882f58e587","refs/heads/elab_6.1",
"19d97e408ee3f993745b053e281ac9dc69519e06","refs/heads/master",
"906dfe6eebff832baf0f92683d751432fcc98ab7","refs/heads/regression"]
Run Code Online (Sandbox Code Playgroud)
我要转换为:
{"19d97e408ee3f993745b053e281ac9dc69519e06" => "refs/heads/auto"...}
Run Code Online (Sandbox Code Playgroud)
但是master和auto具有相同的哈希值,因此其中一个在转换中被删除.
我如何1.)获取转换中丢弃的值的列表,或2.)通过向键添加特殊字符使密钥唯一,如*?