FILE
:
hello
world
foo
bar
이 모든 빈 새 줄을 어떻게 제거 할 수 FILE
있습니까?
명령 출력 :
FILE
:
hello
world
foo
bar
FILE
:
hello
world
foo
bar
이 모든 빈 새 줄을 어떻게 제거 할 수 FILE
있습니까?
명령 출력 :
FILE
:
hello
world
foo
bar
답변:
grep . FILE
(그리고 당신이 정말로에서 다음, sed를 수행하려는 경우 : sed -e /^$/d FILE
)
(그리고 당신이 정말로 다음, AWK에서 작업을 수행하려는 경우 : awk /./ FILE
)
sed -ne/./p
너무 작동하고 awk /./
더 짧습니다 (작업은 {print}
지정되지 않은 경우). @ ghostdog74 : grep '[^[:space:]]'
그럼.
.
위해 개행을 제외한 모든 문자와 일치하는 정규식입니다.
grep . FILE
주어진 예제에서 작동하지만 파일이 문자 집합의 일부가 아닌 바이트를 가질 수있는 경우에는 반드시 그런 것은 아닙니다. 예를 들어 GNU grep 2.20에서는 printf "\x80\n" | grep .
아무것도 출력하지 않습니다.
다음을 시도하십시오.
grep -v -e '^$'
grep -v -e '^$'
항상 작동하지만 grep .
. 예를 들어 GNU grep 2.20에서는 printf "\x80\n" | grep .
아무것도 출력하지 않고 printf "\x80\n" | grep -v '^$'
비어 있지 않은 줄 을 출력합니다.
with awk, just check for number of fields. no need regex
$ more file
hello
world
foo
bar
$ awk 'NF' file
hello
world
foo
bar
awk1line.txt
-다시, 대부분의 어색한 트릭도 있습니다. :)
이 시도: sed -i '/^[ \t]*$/d' file-name
아니오가있는 모든 빈 줄을 삭제합니다. 공백 (공백 또는 탭), 즉 파일의 (0 개 이상).
참고 : 대괄호 안에는 '공백'과 '\ t'가 있습니다.
수정자는 -i
업데이트 된 내용을 파일에 다시 씁니다. 이 플래그가 없으면 화면에서 빈 줄이 삭제 된 것을 볼 수 있지만 실제 파일은 영향을받지 않습니다.
grep '^..' my_file
예
THIS
IS
THE
FILE
EOF_MYFILE
최소 2 자 이상의 행만 출력으로 제공합니다.
THIS
IS
THE
FILE
EOF_MYFILE
grep '^' my_file
출력 결과를 참조하십시오.
THIS
IS
THE
FILE
EOF_MYFILE
또한 grep '^.' my_file
출력
THIS
IS
THE
FILE
EOF_MYFILE
빈 줄을 제거하는 것이 공백을 포함하는 줄을 의미하는 경우 다음을 사용하십시오.
grep '\S' FILE
예를 들면 :
$ printf "line1\n\nline2\n \nline3\n\t\nline4\n" > FILE
$ cat -v FILE
line1
line2
line3
line4
$ grep '\S' FILE
line1
line2
line3
line4
$ grep . FILE
line1
line2
line3
line4
또한보십시오:
Xcode 프로젝트에있는 총 코드 줄이 무엇인지 알고 싶고 각 swift 파일의 개수를 나열하는 데 관심이 없다면 답을 얻을 수 있습니다. 코드가 전혀없는 줄을 제거하고 주석 접두사가 붙은 줄을 제거합니다.//
Xcode 프로젝트의 루트 수준에서 실행하십시오.
find . \( -iname \*.swift \) -exec grep -v '^[[:space:]]*$' \+ | grep -v -e '//' | wc -l
코드에 다음 과 같이 시작 /*
하고 끝나는 주석 블록이있는 경우 */
:
/*
This is an comment block
*/
그러면 이것들이 카운트에 포함됩니다. (너무 열심히).
가장 간단한 답변 -----------------------------------------
[root@node1 ~]# cat /etc/sudoers | grep -v -e ^# -e ^$
Defaults !visiblepw
Defaults always_set_home
Defaults match_group_by_gid
Defaults always_query_group_plugin
Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS"
Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
[root@node1 ~]#