>> Edit article
이름
제목
패스워드
: : 질문여 : 초보라서 잘모르는데...요... : 예를 들면 : : 두개의 a.txt, b.txt 가 있는데요. : 첫번째에는 This is a car : 두번째에는 car Car : 이렇게 있다면 두개를 비교해서 : 같은단어가 있는 car를 찾아서 : 첫번째 문장을 This is a Car로 : 바꿔 출력하려는 스크립트를 만들려는데 안되네요. : 문장의 단어들은 read를 써서 변수로 읽어들였는데요 : 그리고 if then을 써서 비교는 했는데 : 바꿔지지가 않네여... : 어떤걸 써야하는지 아시는분좀 좀 도와주세요 제가 생각하기에 a.txt에는 원문파일이 b.txt에는 바꿀문자열이들어 있다고 생각하고 다음과 같이 허접한 스크립트를 만들어 보았습니다. ------------------------- cut here ------------------------ #!/bin/sh if [ $# != 2 ]; then echo "usage: $0 [바꿀 문자열 정보파일] [대상파일]" exit 0; fi DATA_FILE=$1 TARGET_FILE=$2 #------------------------------------------------------ # 정보파일 체크 #------------------------------------------------------ if [ ! -f $DATA_FILE ]; then echo "${DATA_FILE}이 존재하지 않음."; exit 0; elif [ ! -r $DATA_FILE ]; then echo "${DATA_FILE}을 읽을 수 없음"; if [ -O $DATA_FILE ]; then echo "${DATA_FILE}의 퍼미션 변경."; chmod 644 ${DATA_FILE}; else exit 0; fi fi #----------------------------------------------------- # 대상파일 체크 #----------------------------------------------------- if [ ! -f $TARGET_FILE ]; then echo "${TARGET_FILE}이 존재하지 않음."; exit 0; elif [ ! -w $TARGET_FILE ]; then echo "${TARGET_FILE}에 쓸수있는 권한이 없음" if [ -O $TARGET_FILE ]; then echo " ${TARGET_FILE}퍼미션 변경." chmod 644 $resultfile else exit 0; fi fi #------------------------------------------------------ # 정보파일 읽기 #------------------------------------------------------ for REGEX in `awk '{ printf("s/%s/%s/g", $1, $2); }' ${DATA_FILE}` do perl -pi -e ${REGEX} ${TARGET_FILE}; done--외로워라 이네몸은 뉘와함께 놀아날고.
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved