将制表符分隔为管道分隔和擦除隐藏字符的自动过程

时间:2013-06-26 19:49:48

标签: excel-vba batch-file pipe tab-delimited vba

我们有一个制表符分隔的文本文件,需要以管道分隔格式发送给客户,并清除所有隐藏的字符。他们建议在Windows语言设置中手动切换分隔符,然后在字垫中打开以搜索字符。我觉得这很浪费时间,最有可能用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

1 个答案:

答案 0 :(得分:0)

这使用免费的GnuSED并将TAB转换为|同时删除$ Z Y和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