我有一个家庭作业,其中有一个包含大量单词的文件。我必须将所有以 开头的单词复制到一个新文件中c
并将其命名cwords
。
我可以通过 do 看到单词列表cat words | grep ^c
,并且可以通过 do 将整个列表复制到文件中,但是我应该输入什么才能只获取以copy overcp words cwords
开头的单词?c
答案1
将以 c 开头的单词复制到新文件
命令
sed -n '/^c/p' inputfile >outputfile
答案2
这是stdout>
或1>
重定向到您正在寻找的文件的
-i
grep 选项集意味着忽略您不需要的情况,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。