自己找了一個形碼碼錶,但是裏面包含了很多繁體異體字,打算提取裏面的常用漢字6700個,當前格式如下:
use.txt:
唉
哎
挨
....
all.txt:
愛 qqq
挨 ddd
哎 jjj
......
嘗試使用如下命令來提取:
grep -f use.txt all.txt > output.txt
期待的結果是這樣:
挨 ddd
哎 jjj
實際輸出文件為空,不知道雜回事
已經確定裏面沒有windows下的換行符
自己找了一個形碼碼錶,但是裏面包含了很多繁體異體字,打算提取裏面的常用漢字6700個,當前格式如下:
use.txt:
唉
哎
挨
....
all.txt:
愛 qqq
挨 ddd
哎 jjj
......
嘗試使用如下命令來提取:
grep -f use.txt all.txt > output.txt
期待的結果是這樣:
挨 ddd
哎 jjj
實際輸出文件為空,不知道雜回事
已經確定裏面沒有windows下的換行符
grep是在文件中搜索字符串,应该不太符合你的需求,取多少行应该是用sed命令吧,我对sed命令也不熟悉
鍵入 grep --version
查看一下版本,我這裡時可以用的。
我也不熟悉sed…
grep 是2.5.1
BSD grep 2.5.1 和 gnu grep 3.11 都没问题,是不是你的 grep 不是这些,是 shell 或者 pwsh 自带的 grep,你再查看一下
文件编码是否一致:
file use.txt all.txt
另外 awk 更符合你的需求
awk 'NR==FNR{a[$1];next} $1 in a' use.txt all.txt
應該是這個問題,我開了虛擬機,正常了,無語
這個方案也實現目的,非常感謝