如何在cbt CLI的deleterow命令中转义行键中的空格字符?
解决BigTable cbt CLI删除含空格行键的转义问题
针对cbt CLI删除带空格行键时出现的"bad argument"错误,以下几种转义方式可以解决问题:
单引号包裹行键(最推荐,shell不会解析内部任何特殊字符):
cbt deleterow 'user id 123'单引号会完全保留行键的原始格式,包括空格,避免shell将空格识别为参数分隔符。
双引号包裹行键:
cbt deleterow "user id 123"双引号同样能保留空格,但如果行键包含
$、!等shell特殊字符时可能会被解析,适合仅含空格的场景。反斜杠逐个转义空格:
cbt deleterow user\ id\ 123给每个空格前加上反斜杠,告诉shell该空格是行键的一部分,而非参数分隔符。
如果需要批量删除大量含空格的行,可以将所有行键写入一个文本文件(每行一个行键),然后通过循环批量执行:
while read -r rowkey; do cbt deleterow "$rowkey" done < row_keys_list.txt
内容的提问来源于stack exchange,提问作者Masahiro Hiramatsu
相关产品推荐
相关产品推荐

