+ -
当前位置:首页 → 问答吧 → 怎么批量添加字符串又不改变原有格式

怎么批量添加字符串又不改变原有格式

时间:2011-03-04

来源:互联网

本帖最后由 mitchell2010 于 2011-03-04 23:51 编辑

我是地地道道的菜鸟,本想在bat中调用sed来批量处理当前文件夹下的一堆文本文件,给它们的第一行都加入age字符,就从网上学了一段:
@echo off
for %%a in ("*.txt") do (
    sed -i "1i\age=   " "%%a"
)
代码是能用,可是原本分行的字符全部挤到一行中去了,怎么解决啊?搞了一天了,欲哭无泪。。。大家好心的帮帮我吧。。。如果有别的方法,能写详细点吗?

作者: mitchell2010   发布时间: 2011-03-04



QUOTE:
我是地地道道的菜鸟,本想在bat中调用sed来批量处理当前文件夹下的一堆文本文件,给它们的第一行都加入age字 ...
mitchell2010 发表于 2011-03-04 23:49

使用sed的时候操作文件,没有把握,不要用-i选项。或者-i.bak注意备份。

作者: L_kernel   发布时间: 2011-03-04

回复 L_kernel


    那有什么办法实现我的目的呢,比如a.txt,b.txt两个文件,我想利用批处理的方式给它们首行加上age字符,怎么实现呢?求详解啊。。。

作者: mitchell2010   发布时间: 2011-03-04

可以么?
  1. 7PLaptop::/tmp
  2. kent$ yes|head -n5 | sed -r '1s/^/age /'                                                                                                                                           [ 17:23 ]
  3. age y
  4. y
  5. y
  6. y
  7. y
复制代码

作者: sk1418   发布时间: 2011-03-05



QUOTE:
回复  L_kernel


    那有什么办法实现我的目的呢,比如a.txt,b.txt两个文件,我想利用批处理的方式给 ...
mitchell2010 发表于 2011-03-04 23:57

  1. $ cat a.txt
  2. a test file
  3. a test file
  4. $ sed '1i\age' a.txt
  5. age
  6. a test file
  7. a test file
  8. $ sed -i.bak '1i\age' a.txt
  9. $ cat a.txt
  10. age
  11. a test file
  12. a test file
复制代码

作者: L_kernel   发布时间: 2011-03-05



QUOTE:
L_kernel 发表于 2011-03-05 00:24




    原来是要加个新行阿。。。没正确理解题意。。。。

作者: sk1418   发布时间: 2011-03-05

本帖最后由 mitchell2010 于 2011-03-05 00:57 编辑

回复 L_kernel


    这个。。。怎么用啊。。。跟bat一样?直接用文本文件然后存为.bat,然后运行?小白求救啊。。。

作者: mitchell2010   发布时间: 2011-03-05



QUOTE:
回复  L_kernel


    这个。。。怎么用啊。。。跟bat一样?直接用文本文件然后存为.bat?小白求救啊。 ...
mitchell2010 发表于 2011-03-05 00:43



    就是说把你的源文件a.txt修改了,但是做了一个原来的a.txt的备份(a.txt.bak)

作者: xiaopan3322   发布时间: 2011-03-05

回复 xiaopan3322


    这段代码放在哪个位置用啊。。。是插在我原来的代码中吗?插在哪儿。。。呃。。。

作者: mitchell2010   发布时间: 2011-03-05

热门下载

更多