分页: 1 / 1
shell的一个文本管理问题
发表于 : 2009-09-07 23:25
由 jorien
rt
Re: 求教:shell的一个文本管理问题
发表于 : 2009-09-07 23:40
由 BigSnake.NET
for i in *.dat
do
cat "$i" | awk "/.+/{ print \$1 \" ${i%%.dat}\" \$2 }" # > "$i".out
done
Re: 求教:shell的一个文本管理问题
发表于 : 2009-09-08 0:00
由 jorien
rt
Re: 求教:shell的一个文本管理问题
发表于 : 2009-09-08 9:44
由 t3swing
for var in $*
do
sed -e "s/\.his \"/\.his \"a/" $var >${var}.out
done
你这个是最简单的处理了,找到替换就可以了 .his "->.his "a
坛子里有shell达人,建议去看
viewtopic.php?f=21&t=223734 这个处理让我看到shell文本处理的魅力
xzap O_O_BOT
特别是xzap,在坛子里基本只搞shell,不懂可以发短信搔扰他
共同学习
Re: 求教:shell的一个文本管理问题
发表于 : 2009-09-08 11:21
由 c\nc
来个 awk 版的~
代码: 全选
awk '{sub(/\.[^\.]+$/,"",FILENAME);sub("\"","\""FILENAME,$2);print>FILENAME".out"}' *.dat
Re: 求教:shell的一个文本管理问题
发表于 : 2009-09-08 12:15
由 aerofox
代码: 全选
for f in *.dat; do sed -i "s/\"/&${f%.*}/" $f; done
Re: 求教:shell的一个文本管理问题
发表于 : 2009-09-08 12:26
由 jorien
谢谢
Re: 求教:shell的一个文本管理问题
发表于 : 2009-09-09 9:46
由 t3swing
代码: 全选
mkdir output;for var in *.dat;do sed -e "s/\.his \"/.his \"a/" $var >output/$var;done
把所有.bat都放到当前目录下,终端进入当前目录下执行上面这句话,文件生成在当前目录output文件夹下