[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何批量调换txt两列的位置,如调换第一列与第三列的位置?

好多txt文件,怎么批量调换两列的位置,如调换第一列与第三列的位置。

如果固定有n列就好处理

TOP

回复 2# mms0536


    列数都是相同且固定的。

TOP

本帖最后由 apang 于 2015-1-11 15:38 编辑
  1. sed -i -r "s/^\s*(\S+)(\s+\S+\s+)(\S+)/\3\2\1/" *.txt
复制代码
sed 自行搜索下载

TOP

回复 4# apang


   找不到64位系统兼容的sed。有别的方法吗?bat之类的

TOP

回复 5# nihaoareyou
  1. @echo off
  2. mkdir ok_dir
  3. for /r "txt所在目录" %%i in (*.txt) do (
  4. for /f "tokens=1,2,3 delims= " %%a in (%%i) do (
  5. call :del_str %%a %%b %%c %%i
  6. )
  7. )
  8. :del_dir
  9. echo %3 %2 %1 >.\ok_dir\%~n3.txt
  10. )
复制代码

TOP

回复 5# nihaoareyou

咋感觉你就是翻来覆去那几个问题啊......
你找一个写好的代码搞懂你自己就会了

TOP

回复 7# mms0536


    两个问题是有点相似,bat一点没接触,很多字符和语句都不明白什么意思,见谅哈。

TOP

回复 6# mms0536


    这个运行后,输出的txt显示ECHO处于关闭状态。

TOP

本帖最后由 mms0536 于 2015-1-11 17:41 编辑

回复 9# nihaoareyou
  1. @echo off
  2. mkdir ok_dir
  3. for /r "txt所在目录" %%i in (*.txt) do (
  4. for /f "usebackq tokens=1,2,3 delims= " %%a in ("%%i") do (
  5. call :del_str %%a %%b %%c %%i
  6. )
  7. )
  8. :del_str
  9. echo %3 %2 %1 >.\ok_dir\%~n3.txt
  10. )
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1

TOP

回复 5# nihaoareyou


这里有可以用的版本:
http://bbs.bathome.net/thread-3981-1-1.html

TOP

  1. @echo off
  2. for /f "delims=" %%i in ('dir /b *.txt') do (
  3.     gawk "{s=$1;$1=$3;$3=s;print}" "%%i" > "%%i.new"
  4.     move /y "%%i.new" "%%i"
  5. )
复制代码

TOP

  1. @set @n=0;//&dir /b *.txt|cscript -nologo -e:jscript "%~0" & pause & exit/b
  2. fso = new ActiveXObject("Scripting.FileSystemObject");
  3. while (!WScript.StdIn.AtEndOfStream) {
  4.         file = WScript.StdIn.ReadLine();
  5.         f = fso.OpenTextFile(file, 1);
  6.         txt = f.ReadAll();
  7.         f.Close();
  8.         txt = txt.replace(/(\S+)(\s+\S+\s+)(\S+)(.*)$/mg, "$3$2$1$4");
  9.         f = fso.OpenTextFile(file, 2);
  10.         f.Write(txt);
  11.         f.close(); f = null
  12. }
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1

TOP

回复 13# apang


    这个具体怎么操作呢?是和bat一样的运行吗?

TOP

回复 12# DAIC


    这个有点问题,运行之后所有txt都成空白了。

TOP

返回列表