#으로 시작하는 줄 삭제

#으로 시작하는 줄 삭제

#a 의 왼쪽과 오른쪽에 공백이 있는 경우 a 로 시작하는 줄을 어떻게 삭제할 수 있나요 #?

  # Master socket provides access to userdb information. It's typically

답변1

이것은 효과가 있는 것 같지만 그것에 대해 깊이 생각하지 않았습니다.

sed -e '/^[[:space:]]*#/d'

답변2

grep당신은 그것을 사용할 수 있습니다

grep -vh '^[[:space:]]*#' filename

추측한 대로 일부 파일에서 주석을 제거하므로 빈 줄을 제거하여 위의 내용을 다음과 같이 확장하는 것도 고려할 수 있습니다.

grep -vh '^[[:space:]]*\(#\|$\)' filename

답변3

awk해결책은 자신에게 맞는 패턴을 반전시키는 것입니다.

$> cat ./text
elephant
# Master socket provides access to userdb information. It's typically
zoo
 #ok
penguin
# !

$> awk '!/^(\ )*#/ {print $0}' ./text
elephant
zoo
penguin

답변4

ДМИТРИЙ МАЛИКОВ가 게시한 샘플 데이터를 사용하여...

$ grep -vPh '^\s*#' filename.txt | grep -Po '\w+'
elephant
zoo
penguin

나는 grep과 함께 pcre를 사용하는 것을 선호하므로 grep과 함께 -P 스위치를 사용합니다(GNU grep이어야 함). 두 번째 grep은 순수한 설탕이며 공백 없이 단어를 제공합니다. 또한 빈 줄을 "제거"합니다.

관련 정보