![`sed -n '/^#n_sns\tn_loc/,/^[^0-9]/ p' $log_file | grep -E '^[0-9]' > $log_file.sns_p_loc` を理解するには?](https://linux33.com/image/11682/%60sed%20-n%20'%2F%5E%23n_sns%5Ctn_loc%2F%2C%2F%5E%5B%5E0-9%5D%2F%20p'%20%24log_file%20%7C%20grep%20-E%20'%5E%5B0-9%5D'%20%26gt%3B%20%24log_file.sns_p_loc%60%20%E3%82%92%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F.png)
チュートリアルに従っていますが、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
は最初に。