디렉토리 내에 있는 모든 파일의 문자열 변환은 어떻게 하죠?

익명 사용자의 이미지

즉 a라는 디렉토리 안의 파일안에 들어 있는 bbb라는 문자열을 ccc라고 바꾸고 싶을 땐 어떻게 하죠?

서브 디렉토리 안까지 다 봐꿔야 하는 데 ^^;;

vi로 일일이 찾아가며 변환하기는 파일이 좀 많은 데....

익명 사용자의 이미지

아래에서 sed... 부분에서 test -> 바꾸기 전 문자열
testDone-> 바꿀 문자열 로 하면 됩니다.
--------------------------------------
#!/bin/bash

changeRE()
{
for file in *; do
if [ -d $file ]; then
cd $file
changeRE
cd ..
else
mv $file $file.bak
cat $file.bak|sed 's/test/testDone/g' >$file
rm $file.bak
fi
done
}

if [ $# -ne 1 ]
then
echo "Usage `basename $0` path"
else
cd $1
changeRE
fi

익명 사용자의 이미지

현재와 하위 디렉토리 모두에서 확장자가 *.c 인 파일내에서(모두면 그냥
*.*)
"aaa" 부분을 "bbb" 로 바꾸기...

#!/bin/sh
find ./ -name '*.c' > temp_joy
for ROTATE in `cat temp_joy`
do
sed -e 's/\"aaa\"/\"bbb\"/' $ROTATE > temp

cp -f temp $ROTATE

done
rm -rf temp
rm -rf temp_joy

주의 반드시 *.c 하시기전에 먼저 한개를 시험삼아 돌려보시든지
아님 백업을 받으세요 잘못하면 ...허걱...
냠냠..

익명 사용자의 이미지

rename 을 해주는 프로그램도 있었던 것으로 기억합니다만,
펄 제작자가 만든...

-.-a

익명 사용자의 이미지

전 펄 스크립트를 만들어 썼습니다... 드릴까요? -_-a
물론.. 코드를보면 개판이어서 직접만드시는게 좋을듯 하네요.

yootiong wrote..
즉 a라는 디렉토리 안의 파일안에 들어 있는 bbb라는 문자열을 ccc라고 바꾸
고 싶을 땐 어떻게 하죠?

서브 디렉토리 안까지 다 봐꿔야 하는 데 ^^;;

vi로 일일이 찾아가며 변환하기는 파일이 좀 많은 데....

익명 사용자의 이미지

# find ./a -type f -exec perl -pi -e 's/bbb/ccc/g' {} \;

yootiong wrote..
즉 a라는 디렉토리 안의 파일안에 들어 있는 bbb라는 문자열을 ccc라고 바꾸
고 싶을 땐 어떻게 하죠?

서브 디렉토리 안까지 다 봐꿔야 하는 데 ^^;;

vi로 일일이 찾아가며 변환하기는 파일이 좀 많은 데....

익명 사용자의 이미지

감탄.

익명 사용자의 이미지

윈도그를 이용하면, ultraedit 같은 에디터를 이용해서
replace in Files 기능을 사용합니다.
정말 막강하죠. 흐흐..

match case, whole word only 등을 사용하면
비슷하게 시작하는 문자들이 바뀔 가능성도 없고,
특히나 regular Expressions 도 지원하는데,
정확히 용법을 몰라서 못쓰고 있죠.

돌 날라 올라.. ~~ 튀자..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.