由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Unix版 - UNIX command to
相关主题
question about sed请问在UNIX下cc编译出来的文件为什么不能执行?
What's the quickest way to change various filenames with same format under unix?怎样知道程序运行时间?time 什么来着?
question about lpr如何在unix下看到并保持telnet的所有内容
求平均值--unix command请问在unix下如何看一个程序跑了多少时间?谢谢!
再次急问: *.tgz 文件怎么解?how to find a file in unix
请教如何使用tarls/mv/rm argument list too long error
simplest server software for PCRe: 怎么在UNIX下面放CD?
how to find a specified file in the unix?what's the use of "ta"
相关话题的讨论汇总
话题: string话题: command话题: unix话题: file话题: new
进入Unix版参与讨论
1 (共1页)
p*u
发帖数: 2454
1
replace an old string with a new string in a lot of file, please tell me the
command name and necessary arguments. thank you very much!
f****n
发帖数: 4615
2
vi: 进入command状态, vi左下角出现“:”
<:>oldstringnewstring
其中的 <> 是为了方便阅读用的, 实际操作时去掉。

【在 p*u 的大作中提到】
: replace an old string with a new string in a lot of file, please tell me the
: command name and necessary arguments. thank you very much!

c*****e
发帖数: 32
3

你可以 man 一下 sed,这个命令很有用
一般情况下,可以用:
cat source_filename | sed -e s/"sourceString"/"targetString"/g >
target_filename
如果多个文件,可以用 for 循环。

【在 p*u 的大作中提到】
: replace an old string with a new string in a lot of file, please tell me the
: command name and necessary arguments. thank you very much!

s****s
发帖数: 8
4

an alternative way: :%s/oldstring/newstring/g
the

【在 f****n 的大作中提到】
: vi: 进入command状态, vi左下角出现“:”
: <:>oldstringnewstring
: 其中的 <> 是为了方便阅读用的, 实际操作时去掉。

p*********r
发帖数: 23
5
#!/bin/sh
# This is a simple script that replace string in a file.
# No argument checking.
str_orig=$1
str_new=$2
shift
shift
for i in $*; do
sed -e s/$str_orig/$str_new/g $i > /tmp/$i.$$
mv /tmp/$i.$$ $i
done
exit 0

【在 p*u 的大作中提到】
: replace an old string with a new string in a lot of file, please tell me the
: command name and necessary arguments. thank you very much!

k*****n
发帖数: 1
6
the simplest way to do this is:
find . -name "*.c" -exec vi -c "1,$ s/old_string/new_string/g" -c "wq" {} \;
will replace all old string with new string in all .c files

【在 p*********r 的大作中提到】
: #!/bin/sh
: # This is a simple script that replace string in a file.
: # No argument checking.
: str_orig=$1
: str_new=$2
: shift
: shift
: for i in $*; do
: sed -e s/$str_orig/$str_new/g $i > /tmp/$i.$$
: mv /tmp/$i.$$ $i

q*******t
发帖数: 29
7
cool!

【在 k*****n 的大作中提到】
: the simplest way to do this is:
: find . -name "*.c" -exec vi -c "1,$ s/old_string/new_string/g" -c "wq" {} \;
: will replace all old string with new string in all .c files

c*****e
发帖数: 32
8
A more effective way would be a one line comand:
for file in *.c; do sed -e s/"old_string"/"new_string"/g $file | cat >
$file;done

the

【在 k*****n 的大作中提到】
: the simplest way to do this is:
: find . -name "*.c" -exec vi -c "1,$ s/old_string/new_string/g" -c "wq" {} \;
: will replace all old string with new string in all .c files

1 (共1页)
进入Unix版参与讨论
相关主题
what's the use of "ta"再次急问: *.tgz 文件怎么解?
books about advanced UNIX command请教如何使用tar
在unix下怎么听CD亚simplest server software for PC
[转载] how to see which port in use?how to find a specified file in the unix?
question about sed请问在UNIX下cc编译出来的文件为什么不能执行?
What's the quickest way to change various filenames with same format under unix?怎样知道程序运行时间?time 什么来着?
question about lpr如何在unix下看到并保持telnet的所有内容
求平均值--unix command请问在unix下如何看一个程序跑了多少时间?谢谢!
相关话题的讨论汇总
话题: string话题: command话题: unix话题: file话题: new