여러 파일에서 '30을 '30으로 바꿔야 합니다. 다음은 작동하지 않습니다:
grep -Rl "'30" /myDir | xargs sed -i "s/'30/`30/g"
어떻게 해결할 수 있나요?
저는 Fedora 26 머신을 사용하고 있습니다.
답변1
백틱 앞에 백슬래시를 추가하면 됩니다.
grep -Rl "'30" /myDir | xargs sed "s/'30/\`30/g"
답변2
find /myDir -maxdepth 1 -type f -exec grep -q \'30 {} \; -exec sed -i -e y/\'/\`/ {} +
여기에서는 find
디렉터리의 파일을 필터링하고, /myDir
문자열을 가져 '30
와서 힙에 있는 해당 파일만 sed, which'll do an in-place editing
-i`에 전달할 수 있습니다.