我们有一个制表符分隔的文本文件,需要以管道分隔格式发送给客户,并清除所有隐藏的字符。他们建议在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
答案 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