Board logo

标题: [文本处理] 批处理能不能把指定的字符串替换为换行? [打印本页]

作者: lj84831253    时间: 2010-5-11 22:43     标题: 批处理能不能把指定的字符串替换为换行?

假设有如下文本内容:
64644161<a5664554
处理后的文本内容为:
64644161
5664554
有把法实现吗?第三方的sed好像是实现不了的。谢谢大家!~
作者: hanyeguxing    时间: 2010-5-11 23:27

所有的查找替换命令行程序都可以,包括sed。
例如使用fr:
  1. fr 1.txt -ric:^<a -t:\r\n
复制代码

作者: sgaizxt001    时间: 2010-5-11 23:32

哦,换行符我不知道批处理怎样实现。我只知道C语言是\n。第三方不懂

[ 本帖最后由 sgaizxt001 于 2010-5-11 23:34 编辑 ]
作者: CUer    时间: 2010-5-11 23:53

  1. sed -i "s/<a/\n/" a.txt
复制代码

作者: CUer    时间: 2010-5-11 23:58

  1. gawk "{sub(/<a/,\"\n\")}1" a.txt >b.txt
复制代码

作者: hanyeguxing    时间: 2010-5-12 00:06

纯p可以这样写:
  1. @echo off
  2. (for /F "delims=" %%a in (1.txt) do ( set a=%%a
  3. setlocal enabledelayedexpansion
  4. set "a=!a:<a=&echo.!"&call:a "!a!"
  5. Endlocal))>2.txt
  6. exit
  7. :a
  8. echo.%~1
复制代码

作者: terse    时间: 2010-5-12 01:41

不处理 含 “ 文件
  1. @echo off&setlocal enabledelayedexpansion
  2. for /F "delims=" %%a in (1.txt) do (
  3.     set a=%%a
  4.     for %%i in ("!a:<a=" "!") do echo %%~i
  5. )
  6. pause
复制代码





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