다음과 같은 내용의 파일이 있습니다.
apple
b\all
cat
\34
egg
백 슬래시가 포함 된 모든 줄을 제거하고 싶습니다. 나는 사용하려고
sed '/\/d' pdataf.txt
그러나 작동하지 않았습니다. 어떻게해야합니까?
답변
당신은 백 슬래시를 탈출해야합니다 (탈출 탈출!)
$ sed '/\\/d' pdataf.txt
apple
cat
egg
답변
grep
,없는 모든 행을 인쇄합니다 \
.
grep -v '\\' pdataf.txt
마찬가지로 awk
:
awk '!/\\/' pdataf.txt
답변
대체하려면 백 슬래시 (이스케이프 문자)를 이스케이프해야합니다. sed 버전에서 지원하는 경우 -i (in-place) 옵션은 중간 파일을 제공하지 않고도 파일을 편집합니다. 또한 -i 옵션을 사용하는 경우 (권장!) 백업 파일 확장자를 사용할 수 있지만,이를 제공하지 않으면 sed 명령 앞에 -e를 사용하여 sed에 사용 중이 아님을 알리는 것이 좋습니다. 백업 파일 확장자.
함께 모아서:
# Run sed to remove lines with backslash in them
$ sed -i -e '/\\/d' pdataf.txt
# Cat your file to confirm edits
$ cat pdataf.txt
apple
cat
egg