Board logo

标题: [文本处理] 批处理for命令怎样去除变量中的空格? [打印本页]

作者: freesoft00    时间: 2015-11-11 21:29     标题: 批处理for命令怎样去除变量中的空格?

例如一个文本:
2015   12:02   path: windows1
2015   12:04   path: windows2
2015   12:05   path: windows3
  1. for /f "tokens=3 delims=:" %%i in (1.txt) do (
  2. echo %%i
  3. )
  4. pause
复制代码
如果以:做分隔符,这样的代码会在变量前面有一个空格,如果去掉这个空格
作者: pcl_test    时间: 2015-11-11 21:47

  1. for /f "tokens=*" %%i in (" test ") do echo;%%~ni
复制代码

作者: freesoft00    时间: 2015-11-11 21:53

  1. windows1
  2. windows2
复制代码
我只要取得最后面的字符,但是取回来的变量前面有一个空格,而我又不想用空格作为分割,想用:

tokens=*就全显示了吧?
作者: DAIC    时间: 2015-11-11 22:49

  1. @echo off
  2. (for /f "tokens=3 delims=:" %%i in (1.txt) do (
  3.     for /f "tokens=*" %%j in ("%%i") do (
  4.         echo,%%~nj
  5.     )
  6. ))>2.txt
复制代码

作者: DAIC    时间: 2015-11-11 22:50

  1. sed "s/.*: //" 1.txt > 2.txt
复制代码

作者: DAIC    时间: 2015-11-11 22:50

  1. gawk "{print $NF}" 1.txt > 2.txt
复制代码

作者: DAIC    时间: 2015-11-11 22:56

  1. powershell -c "Get-Content 1.txt | %{$_.split()[-1]}" > 2.txt
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2