如题目那句话,对于一个在Linux工作的人来说,shell,sed,grep,Python等的东西是非学不可的,另外就是正则表达式,不说精通,了解很多基本用法后会使工作效率成倍的提高!~
就比如今天的一个操作,对于一个文件夹下所生成的几个类别特征项文件,只需要在第一行末,接一个空格,加上该类特征词数,均为300,(原来程序没有写入,可以再改C++程序重写),这样意味着重新训练一边50W文件的库,时间约为1小时.如果直接用sed 来做会简单得多!~
sed "1 s/$/ 300/" filename
这就是单个文件第一行末尾替换,既追加300的方式.然而一个一个做显然比较愚蠢,直接再加上shell编程的方法:
for i in ./* ;do sed "1 s/$/ 300/" $i >$i;done
注意:这样好象是不错,但是对于sed来说可能是缓冲区的原因,不能将$i直接再写回$i,否则该文件为空.这点大家要小心,容易毁坏数据.
【内容导航】
第1页:关于Linux下的shell,sed,grep,正则表达式 第2页:关于Linux下的shell,sed,grep,正则表达式