如何使用bash删除每个单词从第n个位置开始的所有字符?

user_3505115

我有一个包含1,700,000个单词的文件。我想对单词进行幼稚的词干处理,如果单词的长度超过6个字符,则删除第6位之后的所有字符。例如:

Input:
Everybody is around
Everyone keeps talking 

Output: 
Everyb is around
Everyo keeps talkin

我写了以下脚本:

INPUT=train.txt
while read line; do
for word in $line; do
new="$(echo $word | awk '{print substr($0,1,6);exit}')"
echo -n $new >> train_stem_6.txt
echo -n ' ' >> train_stem_6.txt
done
echo   ' ' >> train_stem_6.txt
done < "$INPUT"

这可以完美地回答问题,但是速度非常慢,并且由于我有1,700,000个单词,因此需要花费很长的时间。是否有使用bash脚本执行此操作的更快方法。

非常感谢,

您考虑使用sed吗?

sed -r 's/([a-zA-Z]{6})[a-zA-Z]+/\1/g'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在每个位置SQL Server中使用特殊字符列表制作所有单词

mysql在第n个位置删除字符

c#如何通过对单词中的每个位置使用char数组来生成单词的所有组合

如何进行反向搜索并在第 n 个位置查找特定字符并删除之后的字符

如何使用CSS将所有固定在每个位置的物品固定?

如何优化代码以从列表列表中删除所有列表中的n个位置

使用sed删除每个单词中某个字符之后的所有内容

如何在字符串的第n个位置找到字符

如何删除字符串dataframe列中第n个开头之后的所有字符?

更改字符串中的每个位置以查找所有可能的组合

使用JavaScript在第n个位置分割一个字符串?

在Apache Spark中使用Python在第n个位置获取字符串

通过从每个位置的特定位置单词库中选择单词来有效地生成所有序列

删除第n次出现之前的所有字符

JavaScript在字符串的第n个位置插入空格

R或Python中是否有功能/工作流程来绘制每个位置的字符以进行单词比较?

删除C++链表中第n个位置的节点------最后一个数字没有被删除

使用 VBA 从字母表中的第 n 个位置找到单词链的可能性的算法

使用Bash脚本两次删除某个特定字符后,如何删除所有字符?

如何从Ruby中的字符串中的m个位置删除n个字符?

如何删除X个字符后的所有单词

如何删除X字符之前的所有单词

如何使用RegExp从文本中删除除ä,ö和ü以外的所有非单词字符

使用R如何删除中的特定字符后的所有单词

如何删除cordova ionic中一个位置的所有文件

如何在javascript中找到第n个位置tagName

如何使用powershell查找和替换出现在管道分隔的csv文件中第n个位置的字符串

在R中的字符串的每个第k个位置插入字符

如何在bash中删除单词后删除所有文本,并保持单词