分页: 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文件夹下