如何用xargs处理带引号的TSV文件,按制表符分割并保留引号传参
使用xargs处理TSV文件并保留双引号作为参数传递
你的TSV文件myfile.tsv内容如下:
"a" "b" "c" "d"
要实现按制表符分割字段、保留所有字符(包括双引号)并作为参数传递给外部程序,可使用以下xargs命令:
cat myfile.tsv | xargs -L 1 -d '\t' python -c 'import sys;print(sys.argv[1:])'
参数说明:
-L 1:强制xargs逐行处理输入,每行对应一次外部命令的执行,确保每行的两个字段被传递给同一轮命令。-d '\t':指定制表符作为参数分隔符,替代xargs默认的空白字符(空格、换行等)分割规则,这样能精准识别TSV的字段边界,且不会对字段内的双引号做任何转义或解析操作。
执行后会得到你预期的输出:
['"a"', '"b"'] ['"c"', '"d"']
这种方式完美适配字段值为JSON格式的场景,因为双引号会被完整保留,无需额外转义即可正确传递给外部程序。
内容的提问来源于stack exchange,提问作者Vadim Kantorov
相关产品推荐
相关产品推荐

