请问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
....
请问怎么实现? 展开
我的文本文件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
....
请问怎么实现? 展开
5个回答
展开全部
用 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
在文件目录下执行:
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键的效果。
我是按前者做的。
展开全部
在文件存放的目录下使用vi命令:vi test,打开该文件后,按i键,开始修改文件,然后手动修改呗。
修改玩之后按Esc键,输入 :wq(需要输入冒号),保存文件并退出。
完毕之后如果需要检查,可以使用 cat test 查看该文件内容(仅查看,无法修改)
修改玩之后按Esc键,输入 :wq(需要输入冒号),保存文件并退出。
完毕之后如果需要检查,可以使用 cat test 查看该文件内容(仅查看,无法修改)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实,这个不是要你编程实现嘛,用java的readline读原始文件的每一行,然后,读出来的是字符串,然后用字符串函数把读入的字符串与“\t1\t”合并,然后把这个字符串写到新文件里,依次循环读每一条记录。用面向对象写很方便。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最简单的方式就是使用Excel.
要么使用nawk.
nawk '{printf "%s\t1\t1", $0}' test.txt
要么使用nawk.
nawk '{printf "%s\t1\t1", $0}' test.txt
更多追问追答
追问
张三2011后面不换行了怎么办?
追答
先做第一步,把结果保存为tmp
用gedit打开tmp
使用替换:将\n 替换为 (空)
这样就没有回车了。
或者用VI
vi tmp
:1,$s/\n//g
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
vim test.txt 打开test.txt 按i键进入插入模式,分别在每一行按Tab键、输入1两次,此操作过于频繁,其它的我也不知道
追问
N次之后键盘会坏吗?
有18000多个同样的文件,每个里面有几百行。
有没有简单的方法,大哥?
追答
啊,这么多,键盘一般不会坏的,也许用脚本、计算机语言编写的程序能做到,我只是linux新手,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询