您是否熟悉Dropbox (https://github.com/andreafabrizi/Dropbox-Uploader)或UNIX sed命令。
我想让这个脚本工作,这样它就可以根据修改后的日期从dropbox返回一个排序列表。
命令./droptobox list Test输出:
Listing "/Test"... DONE
[F] config.bmp
[F] igs.bin如果要对脚本进行一些修改(回显$DIR_CONTENT),我可以从输出中看出我确实需要一些信息。
{"revision": 37, "rev": "2514cf1330", "thumb_exists": true, "bytes": 824, "modified": "Thu, 07 Nov 2013 16:14:59 +0000", "client_mtime": "Thu, 07 Nov 2013 16:14:59 +0000", "path": "/Test/config.bmp", "is_dir": false, "icon": "page_white_picture", "root": "dropbox", "mime_type": "image/x-ms-bmp", "size": "824 bytes"}
{"revision": 38, "rev": "2614cf1330", "thumb_exists": false, "bytes": 86, "modified": "Thu, 07 Nov 2013 16:15:18 +0000", "client_mtime": "Thu, 07 Nov 2013 16:15:18 +0000", "path": "/Test/igs.bin", "is_dir": false, "icon": "page_white", "root": "dropbox", "mime_type": "application/octet-stream", "size": "86 bytes"}], "size": "0 bytes"}我想这就是造成这件事的原因:
echo "$DIR_CONTENT" | sed -n 's/.*"path": *"\([^"]*\)",.*"is_dir": *\([^"]*\),.*/\1:\2/p' > $RESPONSE_FILE问题是我不太熟悉sed,如果我尝试做一些修改,我就不会得到任何输出。
修改后的线条(不知道我是否在朝正确的方向移动):
echo "$DIR_CONTENT" | sed -n 's/.*"path": *"\([^"]*\)",.*"is_dir": *\([^"]*\),.*"modified": *\([^"]*\),.*/\1:\2\3/p' > $RESPONSE_FILE但理想情况下,是否有可能让它显示修改后的信息并根据其对结果进行排序?
也是db_list函数的其他部分:
#For each line...
while read -r line; do
local FILE=${line%:*}
FILE=${FILE##*/}
local TYPE=${line#*:}
if [[ $TYPE == "false" ]]; then
echo -ne " [F] $FILE\n"
else
echo -ne " [D] $FILE\n"
fi
done < $RESPONSE_FILE发布于 2013-11-07 21:22:15
我看到两件事:
此外,bash有一个方便的“这里-字符串”功能,所以您不需要“回显”。
sed -n '...' <<< "$DIR_CONTENT" > "$RESPONSE_FILE"https://stackoverflow.com/questions/19841378
复制相似问题