Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用shell脚本如何在文档中找到具有指定字符数的单词?_Shell_Awk_Grep_Gawk - Fatal编程技术网

使用shell脚本如何在文档中找到具有指定字符数的单词?

使用shell脚本如何在文档中找到具有指定字符数的单词?,shell,awk,grep,gawk,Shell,Awk,Grep,Gawk,我在文档中有一个10个字符长的单词,我希望先找到它,然后用一个5个字符的单词替换它。使用shell脚本执行此操作的最有效方法是什么?由于您提供的信息太少,我将自己编写参数 $ cat foo.txt The quick brown fox jumps over the obligatory dog. $ sed 's/obligatory/happy/' foo.txt The quick brown fox jumps over the happy dog. $cat foo.txt 那只敏

我在文档中有一个10个字符长的单词,我希望先找到它,然后用一个5个字符的单词替换它。使用shell脚本执行此操作的最有效方法是什么?

由于您提供的信息太少,我将自己编写参数

$ cat foo.txt The quick brown fox jumps over the obligatory dog. $ sed 's/obligatory/happy/' foo.txt The quick brown fox jumps over the happy dog. $cat foo.txt 那只敏捷的棕色狐狸跳过了那只狗。 $sed's/employment/happy/'foo.txt 敏捷的棕色狐狸跳过快乐的狗。
此sed one liner将替换前10个字符:

sed -r 's/\b\w{10}\b/55555/'
同样的例子:

kent$ echo "The quick brown fox jumps over the obligatory dog."|sed -r 's/\b\w{10}\b/55555/'
The quick brown fox jumps over the 55555 dog.

我可以使用命令来查找吗?特别是如果example.txt文件包含10个字符的word,则replace?@anubie sed是一个命令。你到底想干什么?上面的命令确实存在一些可能的问题,因为它将查找属于其他单词的单词(例如,它将匹配“The”in“then”,而不仅仅是一个独立的“The”),并且它正在进行重新匹配,而不是字符串比较,但您确实需要发布一些示例输入/输出,以帮助我们帮助您。