0

我们有一个制表符分隔的文本文件,需要以管道分隔的格式发送给客户,并清除所有隐藏字符。他们建议在 Windows 语言设置中手动切换分隔符,然后在 word pad 中打开以搜索字符。我觉得这是一种愚蠢的浪费时间,很可能可以用 VB 或批处理来解决。

在发送之前需要删除硬返回、$ 和其他一些特定于该客户端的随机字符

任何指导将不胜感激!

示例数据(只是一个制表符分隔的 txt 文件)

Item number Artist last name    Artist first name   Title   Image width Image height    Paper width Paper height    Retail price    Small Text Descriptive  Category    Format  UPC
4

1 回答 1

0

这使用免费的 GnuSED 并将 TAB 转换为 | 同时删除 $ ZY 和 X (区分大小写):

@echo off
sed -e "s/\t/|/g" -e "s/\$//g" -e "s/Z//g" -e "s/Y//g" -e "s/X//g" file.txt >filenew.txt

这个额外的批处理脚本会删除行尾字符,但某些操作系统版本会删除前导空格。

@echo off
sed -e "s/\t/|/g" -e "s/\$//g" -e "s/Z//g" -e "s/Y//g" -e "s/X//g" file.txt >tmp.tmp
for /f "delims=" %%a in (tmp.tmp) do >>filenew.txt set /p "=%%a"<nul
del tmp.tmp
于 2013-06-27T02:21:34.083 回答