我有一个文件,里面有很多单词,每行一个。我还有第二个文件,其中所有单词都在以逗号分隔的一行。我想要做的是访问以逗号分隔的每个单词。一旦我有了每个单词,我想为第一个文件中的文件删除该单词。
我无法访问分隔文件中的每个单词。
谢谢您的帮助!
我有一个文件,里面有很多单词,每行一个。我还有第二个文件,其中所有单词都在以逗号分隔的一行。我想要做的是访问以逗号分隔的每个单词。一旦我有了每个单词,我想为第一个文件中的文件删除该单词。
我无法访问分隔文件中的每个单词。
谢谢您的帮助!
这个怎么样:
#!/bin/bash
# split_comma
OIFS=$IFS
IFS=','
for w in $(cat $1)
do
# Do stuff with each word
echo $w
done
IFS=$OIFS
$ ./split_comma test_file
其中test_file
包含this,is,a,test
返回:
this
is
a
test
然后,您可以轻松地grep
从较大的行分隔文件中过滤掉单词。
尝试这样做:
grep -w -v -f <(tr ',' '\n' < 2nd_file) 1st_file
你可以尝试这样的事情:
sed -e 's/,/\n/g' fileWithCommas > tempfile
grep -v -f tempfile wordfile > newfile && mv newfile wordfile
rm tempfile