아래에 붙여넣은 텍스트와 비슷한 텍스트 파일이 있습니다. 본질적으로 영숫자 문자를 파일로 추출하고 다른 모든 문자를 무시하고 싶습니다.
grep
이 ( , ) 를 수행하는 가장 쉬운 방법은 무엇입니까 cut
?
%[{]$#{!^]^$#+*$}#*)(]!@^&#){][$)}!+%^)@#&!%(+^^($(%}^+[*)#+{%!))}(*&]__})][_))}#
%())#&##{]$#$](&$%&&$)^{(@%)$%()#)&&*{]&^^+%$##%{!(_$(**&(_]+{%[%$!_){$*@@++]&^$(
%@+{+&%]$)+@({$(+{!*#(%)]+[}){]]#)*[]%&{+)$){!&$]+^++_@]#%)[&&^%]#@#@)]@}%$[_*@%)
%[&*^*})@(!{&^#!([%@_![{)+)$}_+)%&^#@#$$}))^&)}({+*&_()&@]$^#(&&{){)_[}{@(}#)!)%&
%({+$[!#()[]%{$_*]*^%&]@{^@{)}}_^}@!^*)_[([{}]{*#{]&}}[$_[}!%%&_{{!$[}&[[@#[&_$()
%*_$+)&}*){${}!]+%[{{!+)+{!&]$!}{_]&)!!^+){&*#{@!##_(^%^$([!+&+($&)##[&[^_{##{(**
%{{)#*%@*[(^(}!%}@*}@+]^_}&&&}&{[$(@[#*+%[&%{$$**]]%(!$+$!]^+[^_(&*{#_^%[[#+{]#_[
%*}]#)!%!_[})^%*@{!{$)*_+$$*}%(&]%^+$@!&{[]}**})}#}[#{%{$#@##(])&)((${^]^[%^&(!_&
답변1
ASCII 영숫자 문자에만 적용됩니다.
LC_ALL=C tr -cd '[:alnum:]' <file
영숫자의 경우귀하의 지역을 기반으로, 오직:
tr -cd '[:alnum:]' <file
또는 로캘을 명시적으로 정의합니다.
LC_ALL=en_US.UTF-8 tr -cd '[:alnum:]' <file
답변2
거기에는 영숫자 문자가 표시되지 않지만 이 sed 명령은 sed 's/[^a-zA-Z0-9]//g' /tmp/foobar
입력 파일이 있는 곳에서 작동해야 합니다./tmp/foobar
s/a/b/
a의 모든 인스턴스를 b로 바꿉니다. [^a-z]
즉, a부터 z까지가 아닌 모든 문자를 의미합니다. s/a/b/g
이는 전역적으로 이 작업을 수행하고 각 행의 첫 번째 인스턴스에서 중지하는 대신 이 작업을 계속한다는 의미입니다.