나는 많은 단어가 포함된 파일을 가지고 있는 숙제를 가지고 있습니다. .으로 시작하는 모든 단어를 새 파일에 복사 c
하고 이름을 cwords
. 로 지정해야 합니다.
do를 통해 단어 목록을 볼 수 있고 cat words | grep ^c
, do를 통해 전체 목록을 파일로 복사할 수 있는데, cp words cwords
copy over로 시작하는 단어만 얻으려면 무엇을 입력해야 할까요?c
답변1
c로 시작하는 단어를 새 파일에 복사
주문하다
sed -n '/^c/p' inputfile >outputfile
답변2
이는 찾고 있는 파일로 리디렉션되는 stdout >
또는 grep입니다. 옵션 세트는 원하지 않는 경우를 무시 하고 사용한다는 의미입니다.1>
-i
cat file | grep ...
grep
사용법을 배울 수 있는 다양한 유형의 리디렉션이 있습니다.
grep yourpattern inputfile > outputfile
-bash-4.4$ cat > cword\? # to have a random file list as input
fdsf
fdsfsd
cdsfdsf
csrezr
rezr
ret
-bash-4.4$ grep -i "^c" cword\? > cwords
-bash-4.4$ cat cwords
cdsfdsf
csrezr
-bash-4.4$ rm cword*
-bash-4.4$
답변3
grep -E '\bc' inputfile > outputfile
-E, --extended-regexp \b는 단어 경계입니다. c는 일치시키려는 문자이므로 입력 파일에서 c로 시작하는 모든 단어를 검색한 다음 >를 사용하여 출력 파일에 출력을 넣습니다. 귀하의 경우 이름을 cwords로 지정할 수 있습니다.