2017-12-25 61 views
0

시스템은 Linux Debian 7 32bit입니다.모든 파일에서 리눅스 대체 코드

동일한 폴더의 모든 파일에서 일부 코드를 바꿀 때 문제가 있습니다.

예를 들어 파일 이름

은 다음과 같습니다

내가 코드를 < 스크립트를 대체 할 예를 들어
--ADBCABCD-.html 

ABCDABCD.html 

> <은 iframe> 명령으로 내가 할 후 나는이 문제를 볼

sed -i "s|<script>|<iframe>|g" * 

교체를 위해 이 명령

sed: invalid option -- 'A' 
Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]... 

th 파일 이름이 파일 이름을 ---

같은 포함되어 있기 때문에입니다 --ADBCABCD-.html

하십시오 나는 많은 파일을 가지고이 문제가 ---

+0

코드/데이터 앞에 4 개의 공백을 붙입니다. [editing-help] (http://stackoverflow.com/editing-help)를보십시오. – Cyrus

+0

나는 "대쉬를 피할 수 없거나 작은 따옴표로 감싸지 않을 것"이라고 생각했다. 그러나 그것들은 --weird라는 이름의 파일에 실패했다. – Xen2050

답변

2

사용에게 -- 옵션 비 포함의 이름을 수정하는 방법. 이것은 대부분의 유닉스 유틸리티에서 가장 보편적 인 옵션입니다. 매칭 글로브를 사용하는 동안

sed -i -- 's/input/output/g' * 
     ^^ 

가 또는 디렉토리의 접두사를 추가 :

sed -i 's/aaa/bbb/' ./* 

오른쪽 옵션으로 ./--을 취급 아무도?

+0

문제는 여전히 동일하다 –

+0

고맙다. 코드는 다음과 같습니다. sed -i - "s |