Linux

如何將獲取的文件時間添加到文本列?

  • March 12, 2021

這是一個儲存下載地址的文本,它看起來像這樣。

http://speedtest.newark.linode.com/100MB-newark.bin
http://speedtest.dallas.linode.com/100MB-dallas.bin
http://speedtest.london.linode.com/100MB-london.bin
http://speedtest.tokyo2.linode.com/100MB-tokyo2.bin

我想獲取下載連結的修改時間,並添加到下載地址的前面。

這是預期的結果。

2020-11-22 22:01:38 http://speedtest.newark.linode.com/100MB-newark.bin
2020-08-09 14:18:58 http://speedtest.dallas.linode.com/100MB-dallas.bin
2020-11-22 16:25:05 http://speedtest.london.linode.com/100MB-london.bin
2020-08-09 00:26:50 http://speedtest.tokyo2.linode.com/100MB-tokyo2.bin

我知道我可以通過http header查詢命令獲取文件時間。

curl -sLI link | grep -i '^Last-Modified' | cut -c16- | date -f- '+%Y-%m-%d %T'

那麼問題來了,如何將查詢結果添加到文件列呢?

任何幫助,在此先感謝!

首先將所有連結的 Last-Modified 時間戳記到一個文件中,然後paste它們一起執行以下操作:

<links.txt xargs -L -n1 -I{} curl -sLI {} |grep -i '^Last-Modified' |cut -c16- |date -f- '+%Y-%m-%d %T' >last.modifiedOutput
paste -d' ' last.modifedOutput links.txt

引用自:https://unix.stackexchange.com/questions/638758