텍스트 파일에서 백 슬래시가 포함 된 모든 줄을 삭제하십시오. 모든 줄을 제거하고 싶습니다.

다음과 같은 내용의 파일이 있습니다.

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