unix地图功能

pok*_*ace 8 unix bash map sh

我有一系列$dates我正在改造的价值观:

for i in $dates
do
  date -d "1970-01-01 $i sec UTC" '+%a_%D' 
done
Run Code Online (Sandbox Code Playgroud)

有没有办法保存此操作的结果,所以我可以将其管道到其他东西而不将其写入磁盘上的文件?

Pau*_*ce. 14

既然你说"转换"我假设你想要在变量中捕获循环的输出.您甚至可以替换$dates变量的内容.

dates=$(for i in "$dates"; do date -d "@$i" '+%a_%D'; done)
Run Code Online (Sandbox Code Playgroud)


Osw*_*ald 7

创建一个功能:

foo () {
        for i in $@
        do
                date -d "1970-01-01 $i sec UTC" '+%a_%D'
        done
}
Run Code Online (Sandbox Code Playgroud)

然后您可以将输出发送到标准错误:

echo `foo $dates` >&2
Run Code Online (Sandbox Code Playgroud)