#
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은 순수한 설탕이며 공백 없이 단어를 제공합니다. 또한 빈 줄을 "제거"합니다.