使用 xargs 处理制表符分隔 (tsv) 文件,同时保留引号

问题描述 投票:0回答:1

我有一个制表符分隔的文件

myfile.tsv
,格式为:

"a"      "b"
"c"      "d"

我如何用

xargs
(即我需要传递什么参数)来处理它,以将这些字段作为两个参数传递给外部程序,同时保留所有字符,包括双引号(因为我不想搞乱转义(如果 tsv 中的值实际上是 JSON 格式的话,这一点至关重要)并按制表符拆分为外部命令的参数?

例如我想要

cat myfile.tsv | xargs ... python -c 'import sys;print(sys.argv[1:])'
打印

['"a"', '"b"']
['"c"', '"d"']

谢谢!

bash csv xargs
1个回答
0
投票

不确定为什么你想要/需要 xargs ,这是一个要处理的简单示例

cat parseMe.py 
#!/usr/bin/env python
import sys

for row in sys.stdin:
    lst=list(row.strip().split('\t'))
    print(f'{lst}')

cat myfile.tsv | ./parseMe.py 
['"a"', '"b"']
['"c"', '"d"']
['"e"', '"f"']

如果不合适请随意忽略/我错过了为什么需要 xargs 的本质。

© www.soinside.com 2019 - 2024. All rights reserved.