How to remove a folder with space?

root@lunar:~# uplink ls sj://test-bucket
PRE New folder/

root@lunar:~# uplink rm "sj://test-bucket/New folder/"
Error: object not found: sj://test-bucket/New folder/

root@lunar:~# uplink rm sj://test-bucket/New\ folder
Error: object not found: sj://test-bucket/New folder

root@lunar:~# uplink ls sj://test-bucket
PRE New folder/

root@lunar:~# uplink rm "sj://test-bucket/New folder"
Error: object not found: sj://test-bucket/New folder

I don’t think you can remove a folder. The folder should be removed when the last object inside it has been removed.

Check out this article:

Hello @idler921,
Welcome to the forum!

As @BrightSilence said, you should include the filename, since there is no folders in the object storage, it’s all prefixes in the path to the file.

./uplink rm "sj://test-bucket/New folder/file"
1 Like

I think there is a zero sized file without name inside the “folder”.
The 1st and 2nd line can be deleted, but the 3rd line cannot. Hexdump cannot find the “special char”

root@lunar:~# uplink ls --recursive sj://test-bucket
OBJ 2020-03-04 11:14:13           14 New folder
OBJ 2020-03-04 10:43:14            7 New folder/s
OBJ 2020-01-30 23:22:04            0 New folder/
root@lunar:~# uplink ls --recursive sj://test-bucket | hexdump -C
00000000  4f 42 4a 20 32 30 32 30  2d 30 33 2d 30 34 20 31  |OBJ 2020-03-04 1|
00000010  31 3a 31 34 3a 31 33 20  20 20 20 20 20 20 20 20  |1:14:13         |
00000020  20 20 31 34 20 4e 65 77  20 66 6f 6c 64 65 72 0a  |  14 New folder.|
00000030  4f 42 4a 20 32 30 32 30  2d 30 33 2d 30 34 20 31  |OBJ 2020-03-04 1|
00000040  30 3a 34 33 3a 31 34 20  20 20 20 20 20 20 20 20  |0:43:14         |
00000050  20 20 20 37 20 4e 65 77  20 66 6f 6c 64 65 72 2f  |   7 New folder/|
00000060  73 0a 4f 42 4a 20 32 30  32 30 2d 30 31 2d 33 30  |s.OBJ 2020-01-30|
00000070  20 32 33 3a 32 32 3a 30  34 20 20 20 20 20 20 20  | 23:22:04       |
00000080  20 20 20 20 20 30 20 4e  65 77 20 66 6f 6c 64 65  |     0 New folde|
00000090  72 2f 0a                                          |r/.|
00000093

Please, try like this:

uplink rm "sj://test-bucket/New folder/\."

no luck, again

root@lunar:~# uplink rm sj://test-bucket/New\ folder/
Error: object not found: sj://test-bucket/New folder/
root@lunar:~# uplink rm sj://test-bucket/New\ folder/\.
Error: object not found: sj://test-bucket/New folder/.
root@lunar:~# uplink rm "sj://test-bucket/New\ folder/\."
Error: object not found: sj://test-bucket/New\ folder/\.
root@lunar:~# uplink rm "sj://test-bucket/New folder/\."
Error: object not found: sj://test-bucket/New folder/\.
root@lunar:~# uplink rm "sj://test-bucket/New folder/\."
Error: object not found: sj://test-bucket/New folder/\.
root@lunar:~# uplink put sj://test-bucket/New\ folder/s
abcde
Created sj://test-bucket/New folder/s
root@lunar:~# uplink ls sj://test-bucket --recursive
OBJ 2020-03-05 13:53:03            6 New folder/s
OBJ 2020-01-30 23:22:04            0 New folder/
root@lunar:~# uplink rm "sj://test-bucket/New folder/"
Error: object not found: sj://test-bucket/New folder/
root@lunar:~# uplink rm "sj://test-bucket/New folder/s"
Deleted sj://test-bucket/New folder/s
root@lunar:~# uplink ls sj://test-bucket --recursive
OBJ 2020-01-30 23:22:04            0 New folder/
root@lunar:~# uplink ls sj://test-bucket --recursive
OBJ 2020-01-30 23:22:04            0 New folder/
root@lunar:~# uplink ls sj://test-bucket/New\ folder
OBJ 2020-01-30 23:22:04            0
root@lunar:~# uplink rm sj://test-bucket/New\ folder/\.
Error: object not found: sj://test-bucket/New folder/.
root@lunar:~# uplink ls sj://test-bucket --recursive
OBJ 2020-01-30 23:22:04            0 New folder/
root@lunar:~# uplink ls sj://test-bucket/New\ folder/ --recursive
OBJ 2020-01-30 23:22:04            0
root@lunar:~# uplink ls sj://test-bucket/New\ folder/
OBJ 2020-01-30 23:22:04            0
root@lunar:~# uplink ls sj://test-bucket/New\ folder
OBJ 2020-01-30 23:22:04            0
root@lunar:~# uplink ls sj://test-bucket
PRE New folder/

This is a curious problem.
Try like this:

./uplink ls "sj://test-bucket/" --recursive | grep "New folder" | sed '
s@.* [0-9]* @./uplink rm "sj://test-bucket/@g; s/$/"/g' | bash