请问Linux下,怎么修改文本文件的内容?

举例说明。我的文本文件test.txt本来是这样的:张三<tab>20李四<tab>21王五<tab>22赵大<tab>20....有N个文件。我想要把格式变成这样:张三... 举例说明。
我的文本文件test.txt本来是这样的:
张三<tab>20
李四<tab>21
王五<tab>22
赵大<tab>20
....
有N个文件。
我想要把格式变成这样:
张三<tab>20<tab>1<tab>1
李四<tab>21<tab>1<tab>1
王五<tab>22<tab>1<tab>1
赵大<tab>20<tab>1<tab>1
....
请问怎么实现?
展开
 我来答
百度网友5311d79
2011-04-24 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3200万
展开全部
用 sed + 正则表达式。
在文件目录下执行:
for myfile in *
do
sed -i 's/.*<tab>.*/&<tab>1<tab>1/' $myfile
done

注意:sed 加-i 选项会直接修改文件,是危险的。所以最好先搞个临时文件试验通过了再正式用。 或者不用-i选项直接改源文件,而是将修改结果重定向保存到另一个文件:
sed 's/.*<tab>.*/&<tab>1<tab>1/' $myfile >${myfile}_modified
更多追问追答
追问
不行呀
追答
我这边试过是可以的,如果真实文件确实就如你给出的例子那样。
中间的就是这样的文本,还是按TAB键的效果。
我是按前者做的。
sky_沉风
2011-04-24
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
在文件存放的目录下使用vi命令:vi test,打开该文件后,按i键,开始修改文件,然后手动修改呗。

修改玩之后按Esc键,输入 :wq(需要输入冒号),保存文件并退出。

完毕之后如果需要检查,可以使用 cat test 查看该文件内容(仅查看,无法修改)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
弱小智
2011-04-24 · TA获得超过715个赞
知道小有建树答主
回答量:1031
采纳率:0%
帮助的人:519万
展开全部
其实,这个不是要你编程实现嘛,用java的readline读原始文件的每一行,然后,读出来的是字符串,然后用字符串函数把读入的字符串与“\t1\t”合并,然后把这个字符串写到新文件里,依次循环读每一条记录。用面向对象写很方便。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5873ea716
2011-04-23 · TA获得超过274个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:302万
展开全部
最简单的方式就是使用Excel.
要么使用nawk.
nawk '{printf "%s\t1\t1", $0}' test.txt
更多追问追答
追问
张三2011后面不换行了怎么办?
追答
先做第一步,把结果保存为tmp
用gedit打开tmp
使用替换:将\n 替换为 (空)
这样就没有回车了。

或者用VI
vi tmp
:1,$s/\n//g
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yutensan
2011-04-23 · 超过26用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:72.7万
展开全部
vim test.txt 打开test.txt 按i键进入插入模式,分别在每一行按Tab键、输入1两次,此操作过于频繁,其它的我也不知道
追问
N次之后键盘会坏吗?
有18000多个同样的文件,每个里面有几百行。
有没有简单的方法,大哥?
追答
啊,这么多,键盘一般不会坏的,也许用脚本、计算机语言编写的程序能做到,我只是linux新手,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式