字符串替换为 GSUTIL
String Replace With GSUTIL
我正在尝试使用 GSUTIL 和 sed 删除 GCS 中 .csv 文件中 header(第一)行末尾的管道。下面的命令产生输出 sed: can't read ... No such file or directory
sed 's/58_rxsig"|"/58_rxsig1/' gs://../file.csv
58_rxsig 是 header 行中的最后一个字段名称,所以我的想法是找到文字字符串 '58_rxsig|'并替换为文字字符串 '58_rxsig' 但我显然无法获得正确的语法。
关于如何实现这个的任何想法?
示例输入:
12_word|
期望的输出:
12_word
sed
命令不知道如何从 GCS 读取文件。您需要将文件内容从 GCS 下载到本地文件,然后将其作为最后一个参数提供给 sed
,例如如果您的存储桶中有一个名为“a/b/c.txt”的对象:
gsutil cp gs://bucket/a/b/c.txt my/local/directory/
sed <your flags and arguments here> my/local/directory/c.txt
另一种方法是使用 gsutil cat
并使用管道将流重定向到 sed
命令。
gsutil cat gs://<bucket>/<blob> | sed <flags & arguments>
我正在尝试使用 GSUTIL 和 sed 删除 GCS 中 .csv 文件中 header(第一)行末尾的管道。下面的命令产生输出 sed: can't read ... No such file or directory
sed 's/58_rxsig"|"/58_rxsig1/' gs://../file.csv
58_rxsig 是 header 行中的最后一个字段名称,所以我的想法是找到文字字符串 '58_rxsig|'并替换为文字字符串 '58_rxsig' 但我显然无法获得正确的语法。
关于如何实现这个的任何想法?
示例输入:
12_word|
期望的输出:
12_word
sed
命令不知道如何从 GCS 读取文件。您需要将文件内容从 GCS 下载到本地文件,然后将其作为最后一个参数提供给 sed
,例如如果您的存储桶中有一个名为“a/b/c.txt”的对象:
gsutil cp gs://bucket/a/b/c.txt my/local/directory/
sed <your flags and arguments here> my/local/directory/c.txt
另一种方法是使用 gsutil cat
并使用管道将流重定向到 sed
命令。
gsutil cat gs://<bucket>/<blob> | sed <flags & arguments>