shell的一个文本管理问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
jorien
帖子: 28
注册时间: 2008-04-22 13:52

shell的一个文本管理问题

#1

帖子 jorien » 2009-09-07 23:25

rt
上次由 jorien 在 2010-11-04 14:38,总共编辑 2 次。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: 求教:shell的一个文本管理问题

#2

帖子 BigSnake.NET » 2009-09-07 23:40

for i in *.dat
do
cat "$i" | awk "/.+/{ print \$1 \" ${i%%.dat}\" \$2 }" # > "$i".out
done
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
jorien
帖子: 28
注册时间: 2008-04-22 13:52

Re: 求教:shell的一个文本管理问题

#3

帖子 jorien » 2009-09-08 0:00

rt
上次由 jorien 在 2010-11-04 14:39,总共编辑 1 次。
t3swing
帖子: 1028
注册时间: 2008-11-01 21:42
来自: 树下板凳

Re: 求教:shell的一个文本管理问题

#4

帖子 t3swing » 2009-09-08 9:44

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,不懂可以发短信搔扰他
共同学习
民族的脊梁,是踏实做事的人,非只知道骂街的泼妇。
头像
c\nc
帖子: 231
注册时间: 2007-12-25 12:51

Re: 求教:shell的一个文本管理问题

#5

帖子 c\nc » 2009-09-08 11:21

来个 awk 版的~

代码: 全选

awk '{sub(/\.[^\.]+$/,"",FILENAME);sub("\"","\""FILENAME,$2);print>FILENAME".out"}' *.dat
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 求教:shell的一个文本管理问题

#6

帖子 aerofox » 2009-09-08 12:15

代码: 全选

for f in *.dat; do sed -i "s/\"/&${f%.*}/" $f; done
jorien
帖子: 28
注册时间: 2008-04-22 13:52

Re: 求教:shell的一个文本管理问题

#7

帖子 jorien » 2009-09-08 12:26

谢谢
上次由 jorien 在 2010-11-04 14:40,总共编辑 1 次。
t3swing
帖子: 1028
注册时间: 2008-11-01 21:42
来自: 树下板凳

Re: 求教:shell的一个文本管理问题

#8

帖子 t3swing » 2009-09-09 9:46

代码: 全选

mkdir output;for var in *.dat;do sed -e "s/\.his \"/.his \"a/" $var >output/$var;done
把所有.bat都放到当前目录下,终端进入当前目录下执行上面这句话,文件生成在当前目录output文件夹下
民族的脊梁,是踏实做事的人,非只知道骂街的泼妇。
回复