`sed -n '/^#n_sns\tn_loc/,/^[^0-9]/ p' $log_file | grep -E '^[0-9]' > $log_file.sns_p_loc`을 이해하는 방법은 무엇입니까?

`sed -n '/^#n_sns\tn_loc/,/^[^0-9]/ p' $log_file | grep -E '^[0-9]' > $log_file.sns_p_loc`을 이해하는 방법은 무엇입니까?

튜토리얼을 따르고 있는데 sed 명령이 있습니다.

sed -n '/^#n_sns\tn_loc/,/^[^0-9]/ p' $log_file | grep -E '^[0-9]' > $log_file.sns_p_loc

이해가 안 돼요. 누가 설명해 주실 수 있나요? 아니면 뭔가 문제가 있는 걸까요?

답변1

이것이 도움이 됩니까?

sed -n '                # run sed but don't print by default
/^#n_sns\tn_loc/,       # from match 1
/^[^0-9]/               # to match 2
 p'                     # print

귀하의 특별한 질문:

^                       # anchor at begin  of line
[                       # opens a "bracket expression" which normally matches any single character from the list
^                       # a leading ^ makes it match any single character NOT from the list.
0-9                     # character range, only digits 
]                       # close "bracket expression"

이는 grep중복된 것처럼 보입니다. 해당 작업(숫자로 시작하는 줄 인쇄) sed은 먼저 .

관련 정보