bat批处理去除删掉文件里每行尾端(右)空格
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bat批处理去除删掉文件里每行尾端(右)空格相关的知识,希望对你有一定的参考价值。
请问,我有一个文件比如A.bat,其中每行末尾都有大量空格,想用bat写成一个程序可以去除右端空格(行中间的空格不去,空行的也不去),另存为As.bat.。请问如何编写?文本例子如下:
asdfasf空空空空
asd空空空空空空
woiglajgrsgklaew
空空空空空空空空
.....
我想要变成如下:
asdfasf
asd
woiglajgrsgklaew
空
......
多谢
用fortran解决了。
dim file, find, replacestr,read,count,countstr,filepath,i,j,path,cd,t,tnum,msg,finename,f,tt,ff,fso,findstr(),str
msgstr="直接按确定程序将自动指定目录为当前文件夹"
set fso=createobject("scripting.filesystemobject")
set cd=createobject("shell.application")
if cd is nothing then '如果系统自带这个对象则直接调用吧
set cd=nothing
file=inputstr("请输入要处理的目标目录",msgstr)
if file=false then quit
if file=vbnullstring or file=msgstr then file="."
else
file=cd.application.browseforfolder(0,"请选择一个你要处理的目标目录",0).self.path '创建对话框
if file=vbnullstring then quit
end if
t=timer
for each i in fso.getfolder(file).files '遍历文件夹
if fso.getextensionname(i)="txt" then '只修改txt后缀名的文件
filepath=left(i,instrrev(i,"\\")) '分配路径
file=mid(i,instrrev(i,"\\")+1) '分配文件
filename=filepath&file
read=fso.opentextfile(i).readall '读取文件
countstr=split(read,vbcrlf) '分配文本
count=ubound(countstr)
for j=0 to ubound(countstr) '循环查找
redim preserve findstr(j)
if right(countstr(j),1)=chr(32) then '已找到空格并舍弃
findstr(j)=rtrim(countstr(j))
else
findstr(j)=countstr(j) '不需要舍弃的随后补上
end if
next
str=join(findstr,vbcrlf)
fso.createtextfile(filename).write str
findstr=empty
end if
next
tnum=formatnumber(timer-t,2)
tt=replace(date,"/","-")
if left(tnum,1)="." then tnum=0&tnum
msgbox "已处理完成,大约耗时 -- "&tnum&" 秒.",64,wscript.scriptname
quit
sub quit
set cd=nothing
set fso=nothing
wscript.quit
end sub
public function inputstr(str1,str2)
inputstr=inputbox(str1,wscript.scriptname,str2)
end function
引用我这个帖子中的回答,稍稍改了一下 http://zhidao.baidu.com/question/575575001.html?oldq=1#answer-1448162267
参考技术A 本来批处理是能处理, 处理一个文本应该自己找个稍高级点的文本编辑软件如word 进行高级替换(不等的空格加换行替换成换行)另外,比如的文件名为bat文件,去掉尾部空格也许功能就变了......最好按实际需求说明,便于回答时灵活处理,等回答了再改换要求是很烦人的 参考技术B 要不要这么麻烦啊,用word查找 空格^p,替换成^p就得了,多执行几次就能替换干净
linux下处理excel里copy的某列的字符串,去除行末空格并添加特殊字段
背景:从excel里copy出一列数据到txt,然后放到lunx下处理,发现每一行末尾都是固定个数的空格,我想要在每行字符串末尾加固定字段并逗号隔开输出,
cat fastjason.txt | awk -F / ‘{print $3}‘ | sort | uniq > fast.log将特定字段取出 ;cat fast.log |xargs echo >fast.log 去掉每行末尾的不定个数空格,全部放到一行,每个应用以空格隔开;sed -i ‘s/ /\n/g‘ fast.log,将空格变换行符;然后再在每行末尾加.war, sed -i ‘s/$/&.war/g‘ fast.log;cat fast.log |xargs echo 输出到一行,每个应用以空格隔开 >sp.log;sed -i ‘s/ /,/g‘ sp.log 将空格变逗号。
cat fastjason.txt | awk -F/ ‘{print $3}‘|sort |uniq|xargs echo >a.log
sed ‘s/ /\n/g‘ a.log > b.log
sed ‘s/$/&.war/g‘ b.log >c.log
cat c.log |xargs echo >d.log
sed ‘s/\n/,/g‘ b.log > d.log
以上是关于bat批处理去除删掉文件里每行尾端(右)空格的主要内容,如果未能解决你的问题,请参考以下文章