전 sed 대신 Perl 로..~ (ex : html 화일에 대해 EUC_KR 을 UTF-8 로 일괄 치환)
find . -name '*.html' -exec perl -pi -e 's/EUC_KR/UTF-8/g' {} \;
From free1002
'OS/Unix'에 해당되는 글 10건
- 2010.09.10 Perl을 이용한 파일내 문자열 치환
- 2010.09.08 sed를 이용한 파일내 문자열 치환
- 2009.01.19 vim에서 UTF-16 읽기
- 2008.10.13 소스 코드 라인 카운터 (Source code line counter)
- 2008.10.06 Process ID check
- 2008.10.06 egrep
- 2008.10.06 top
- 2008.10.06 cat for input text
- 2008.10.06 cut
- 2008.10.06 awk - quoting and multi printing
출처: http://pangate.com/185
다음 예제는 *.c 파일 속에 있는 $1 문자열을 $2 문자열로 바꾼다.
ls_lst=`ls *.c`
for ls_one in ${ls_lst}; do
echo '=[ '$ls_one' ]'
sed -e "s%$1%$2%" $ls_one > $ls_one.temp
sed -e "s%$1%$2%" $ls_one.temp > $ls_one
rm -f $ls_one.temp
done
echo ' E N D'
다음 예제는 *.c 파일 속에 있는 $1 문자열을 $2 문자열로 바꾼다.
ls_lst=`ls *.c`
for ls_one in ${ls_lst}; do
echo '=[ '$ls_one' ]'
sed -e "s%$1%$2%" $ls_one > $ls_one.temp
sed -e "s%$1%$2%" $ls_one.temp > $ls_one
rm -f $ls_one.temp
done
echo ' E N D'
용도
해당 디렉토리 하의 특정 확장자를 가진 파일들을 찾아 라인을 카운트한다.
사용법
전체 라인 카운트 및 전체 파일 갯수 확인하기
SourceLineCounter.sh file_extension
ex)
./SourceLineCounter.sh java
Total lines
18976
Total files
81
각 파일별 라인 확인하기
FileFinder.sh java file_extension
ex)
./FileFinder.sh java
146 ./ApplicationActionBarAdvisor.java
18 ./ApplicationWorkbenchAdvisor.java
...
Shell script
FileFinder.sh: 현재 디렉토리 하의 특정 확장자를 가진 파일을 찾고 각 파일의 라인 갯수를 출력한다.
해당 디렉토리 하의 특정 확장자를 가진 파일들을 찾아 라인을 카운트한다.
사용법
전체 라인 카운트 및 전체 파일 갯수 확인하기
SourceLineCounter.sh file_extension
ex)
./SourceLineCounter.sh java
Total lines
18976
Total files
81
각 파일별 라인 확인하기
FileFinder.sh java file_extension
ex)
./FileFinder.sh java
146 ./ApplicationActionBarAdvisor.java
18 ./ApplicationWorkbenchAdvisor.java
...
Shell script
FileFinder.sh: 현재 디렉토리 하의 특정 확장자를 가진 파일을 찾고 각 파일의 라인 갯수를 출력한다.
#!/bin/bashSourceLineCounter.sh: FileFinder를 불러서 전체 라인수와 파일 갯수를 계산한다.for file in $( find ./ -name "*.$1" ); do wc -l "$file"; done
#/bin/bash좀 더 좋은 방법도 있겠지만, 여기에 투자할 시간이 부족한 관계로 이만.echo "Total lines"
./FileFinder.sh $1 | cut -d" " -f1 | awk '{ print "a = a + " $1 "; a" }' | bc -l | tail -1echo "Total files"
./FileFinder.sh $1 | wc -l
cat << EOF | is user_id pass
drop table AccessPattern;
drop sequence seq;
create table AccessPattern (num int, function_name varchar(100));
create sequence seq;
EOF
drop table AccessPattern;
drop sequence seq;
create table AccessPattern (num int, function_name varchar(100));
create sequence seq;
EOF
awk '{print "INSERT INTO AccessPattern VALUES (seq.nextval," "'"'"'" $1 "'"'"'" ");"}