vi 대체 문자열
박문 참고:
http://www.linuxdiyf.com/viewarticle.php?id=99843
http://kingaragorn.javaeye.com/blog/467308
vi / vim 에 서 는 문자열 을 바 꾸 기 위해 s 명령 을 사용 할 수 있 습 니 다.예전 에는 편집 소프트웨어 로 만 교 체 했 는데 오늘 은 이 명령 에 여러 가지 쓰기 (vi 가 정말 강하 군요. 아직 배 워 야 할 것 이 많 습 니 다) 가 있 는 것 을 발 견 했 습 니 다. 몇 가 지 를 기록 하면 나중에 조회 하기에 편리 합 니 다.s/well/good/ 현재 줄 의 첫 번 째 줄 바 꾸 기 well 은 good: s / well / good / g 로 현재 줄 의 모든 well 을 good: n, $s / well / good / n 줄 을 바 꾸 고 마지막 줄 의 첫 번 째 well 은 good: n, $s / well / good / g 로 n 줄 을 바 꾸 고 마지막 줄 의 모든 well 은 good n 을 숫자 로 합 니 다. n 이 라면 현재 줄 부터 마지막 줄 까지:% s / well / good /(같은 줄: g / well / s / / good /) 각 줄 의 첫 번 째 well 을 good:% s / well / good / g (같은 줄: g / well / s / / good / g) 로 교체 합 니 다.각 줄 에 있 는 모든 well 을 good 로 바 꾸 면 \ # 구분자 로 사용 할 수 있 습 니 다. 이때 중간 에 나타 나 는 / 구분자 로 사용 하지 않 습 니 다. s \ # well / \ # good / \ # 현재 줄 의 첫 번 째 well / good /:% s \ # / usr / bin \ # / bin \ # g 은 파일 의 모든 경로 / usr / bin 을 / bin 으로 바 꿀 수 있 습 니 다.
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =http://www.svn8.com/linux/accidence/20100422/29910.html
링크 ux 에서 파일 내용 을 일괄 교체 합 니 다. 1. 인터넷 에 이미 만들어 진 자료
형식: sed - i "s / 찾기 필드 / 교체 필드 / g" ` grep 찾기 필드 - rl 경로 `
Svn 중국어 망
링크 ux sed 여러 파일 의 문자열 을 일괄 교체 합 니 다.
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`
예 를 들 어 모든 파일 의 www. admin 99. net 를 admin 99. net 로 교체 합 니 다. Bbs.Svn8.Com
sed -i "s/www.admin99.net/admin99.net/g" `grep www.admin99.net -rl /home`
Bbs.Svn8.Com
exp:sed -i "s/shabi/$/g" `grep shabi -rl ./` Svn8.Com
2, 자신 추가 Svn8.Com
2.1 파일 1. txt 에 있 는 텍스트 'garden' 을 'mirGarden' 으로 바 꿉 니 다.
\ # sed - i "s / garden / mirGarden / g" 1. txt / / sed - i 간단 합 니 다.
2.2 현재 디 렉 터 리 에 있 는 모든 파일 의 "garden" 을 "mirGarden" 으로 바 꿉 니 다.
\ # sed - i "s / garden / mirGarden / g" ls / / 사실은 ls 에서 여러 개의 파일 이름 을 낼 뿐 입 니 다.
====================================
Linux 에서 여러 파일 의 텍스트 나 문자열 을 동시에 바 꾸 는 방법
비교적 복잡 한 일 을 하 는 데 는 일반적으로 여러 가지 방법 이 존재 한다.
여러 파일 의 텍스트 를 한꺼번에 교체 하 는 것 은 우리 가 자주 겪 는 문제 입 니 다. 다음은 이 문 제 를 해결 하 는 세 가지 방법 입 니 다.
1. vi 방법
vim 사용자 매 뉴 얼 26 참조.
*26.3*
"x_cnt" "x_counter"。
C 。 。 。
:
:args *.c
C 。
:
:argdo %s/\
/x_counter/ge | update
":argdo" 。 。
"%s" 。 "\
" "x_cnt"。
"\" , "px_cnt" "x_cnt2"。
"g", "x_cnt"。
"e" "x_cnt" 。
":argdo" "x_cnt" 。
"|" 。 "update" 。
"x_cnt" "x_counter", 。
":windo" , 。
":bufdo" , 。
, 。
":buffers" ( ":ls") 。
2. perl
,
vi , c "x_cnt" "x_counter"。
:
find . -name '*.c' -print0 | xargs -0 perl -pi -e 's/x_cnt/x_counter/g'
xargs find perl 。
find -print0 xargs -0 , man xargs 。
: ()[]/"'!?
등등 이런 특수 문 자 는 문자 앞 에 역 슬 래 쉬 를 붙 여야 합 니 다 \ \ 。
이러한 방법의 장점 은 편집 기 를 시작 하지 않 아 도 비교적 빠르다 는 것 이다. 단점 은 원 하지 않 는 교체 가 쉽게 나타 나 는 것 이다. 예 를 들 어 px cnt 를 px counter 로 교체 하 는 것 이다.
3. sed
여전히 위의 예 로 설명 한다.
find . -name "*.c" -print0 | xargs -0 sed -i 's/x_cnt/x_counter/g'
장단 점 은 perl 방법 과 같다.
이상 의 방법의 차 이 는 도 구 를 사용 하 는 것 이 다 르 기 때문에 틀림없이 다른 도구 가 이 일 을 해 낼 수 있 을 것 이 라 고 믿는다.
예 를 들 어 emacs 도 이런 것 을 할 수 있 을 것 이다. 단지 내 가 emacs 를 사용 하지 않 기 때문에 익숙 하지 않다.
모두 가 자신의 뜻 대로 되 는 방법 을 총 결 하 기 를 바란다.
==================
Linux sed
http://www.itqun.net/content-detail/105074.html
, /modules zhangsan lisi, :
sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`
:
-i inplace edit,
-r
-l
, 。
(1)sed 'y/1234567890/abCDEFGHIJ/' test_sed
sed 'y/1234567890/abCDEFGHIJ/' filename
abCDEFGHIJ
BCDEFGHIJA
CDEFGHIJAB
DEFGHIJABC
list
:test_sed :
1234567890
2345678901
3456789012
4567890123
(2)
sed 's/01/Ab/g' test_sed
1234567890
23456789Ab
3456789Ab2
456789Ab23
: 0,1 A,b
:d
*
$ sed '2d' example----- example 。
*
$ sed '2,$d' example----- example 。
*
$ sed '$d' example----- example 。
*
$ sed '/test/'d example----- example test 。
:s
*
$ sed 's/test/mytest/g' example----- test mytest。 g , test mytest。
*
$ sed -n 's/^test/mytest/p' example-----(-n) p 。 , test mytest, 。
*
$ sed 's/^192.168.0.1/&localhost/' example-----& 。 192.168.0.1 localhost, 192.168.0.1localhost。
*
$ sed -n 's/\(love\)able/\1rs/p'
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.