小编Reg*_*ser的帖子

zsh 带循环的睡眠辅助

非常简单的要求:每个curl帖子之间有1秒的暂停

#!/usr/local/bin/zsh
while true
do
 for p (**/*.xml) {curl -X POST -H "Content-Type:application/xml"  -d @"${p}" "https://url/postAPI" > "post_${p}"}
     sleep 1
 done
Run Code Online (Sandbox Code Playgroud)

睡眠确实会暂停,但增量为 3。

我究竟做错了什么??

谢谢!

当我说增量时,这就是我的意思。

post
post
post
sleep 1
Run Code Online (Sandbox Code Playgroud)

我想要:

post
sleep 1
post
sleep 1
post
sleep 1
Run Code Online (Sandbox Code Playgroud)

在这个 tmp 目录中,只有 3 个文件,但最终会达到 300 个。

unix curl loops zsh

4
推荐指数
1
解决办法
7924
查看次数

使用 sed 打印匹配行

我有 stackoverflow.csv 文件中的示例数据:

foo
foo
foo
foo
bar
bar
bar
bar
baz
baz
baz
baz
Run Code Online (Sandbox Code Playgroud)

我知道与sed -n /foo/p stackoverflow.csv > foo.csv

我将获取与 foo 匹配的所有记录定向到该文件,但我不想在 cli 上指定匹配模式,我宁愿将其放入脚本中并将所有记录(foo、bar 和 baz)发送到他们自己的文件。

基本上在脚本中是这样的:

sed -n /foo/p stackoverflow.csv > foo.csv
sed -n /bar/p stackoverflow.csv > bar.csv
sed -n /baz/p stackoverflow.csv > baz.csv
Run Code Online (Sandbox Code Playgroud)

像这样:

#!/bin/sh
sleep 2
sed -n /foo/p > foo.csv
sed -n /bar/p > bar.csv
sed -n /baz/p > baz.csv
Run Code Online (Sandbox Code Playgroud)

这会创建文件,但它们都是空的。另外,如果脚本只有一个打印语句,它也可以工作。

有什么意见吗?

unix shell sed

2
推荐指数
1
解决办法
8287
查看次数

标签 统计

unix ×2

curl ×1

loops ×1

sed ×1

shell ×1

zsh ×1