我在一个.txt文件中多次发现单词“picture:”。如何提取"pictures:"后面的所有单词并保存在文本文件中
我尝试了下面的代码,但不起作用:
cat users_sl.txt |awk -F: '/^login:"/{print $2}' cookies.txt
user_sl.txt
:Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis picture lobortis scelerisque fermentum dui faucibus in ornare quam. Est ullamcorper eget nulla facilisi etiam dignissim diam quis. Quis viverra nibh cras pulvinar mattis nunc sed. Turpis massa sed elementum picture tempus egestas. Condimentum vitae sapien pellentesque habitant. Et molestie ac feugiat sed lectus vestibulum mattis ullamcorper. Tincidunt lobortis feugiat vivamus at augue eget arcu picture dictum varius. Donec massa sapien faucibus et molestie ac feugiat sed. Tincidunt eget nullam non nisi est. Ornare arcu dui vivamus arcu. Mattis enim ut tellus elementum sagittis vitae et leo duis
picturelist.txt:
lobortis
dictum
tempus
7条答案
按热度按时间lqfhib0f1#
好吧,我假设您实际上只有
picture
而不是**picture:**
,并且您可能需要处理换行符,所以...编辑:说明:
tr '\n' ' '
将每个(unix)换行符替换为一个空格--使整个内容成为一行。-o
标志告诉grep
只返回匹配的字符串。搜索模式以picture和一个空格picture
开始,然后是后面所有不是空格的字符串:[^ ]*
.最后,
cut
使用空格字符作为分隔符-d ' '
打印第二个字段:-f 2
wh6knrhe2#
您提供的代码似乎不正确。应该使用awk命令在文件中搜索单词“picture:”并打印它后面的单词。下面是一个如何执行此操作的示例:
此命令将在文件users_sl.txt中搜索模式'picture:',然后获取下一行并将其打印到名为output.txt的文件中。
以下是命令的细目分类:
tp5buhyn3#
使用bash时:
输出
cigdeys34#
使用perl时:
kq0g1dla5#
使用awk时:
或
第一次
xn1cxnb46#
您提供的程式码无法运作,因为其中有一些语法错误。要撷取'pictures:'字之后的所有字,并将它储存在文字档中,正确的语法是:
上面的命令将提取输入文件中“picture:”后面的所有单词,并将其保存在名为“picturelist.txt”的文件中。
以下是该命令的工作原理:
cat users_sl.txt
-将文件“users_sl.txt”的内容打印到标准输出。awk -F "picture:" '{print $2}'
-这是命令的核心部分。它使用awk
命令提取“picture:”后面的单词。-F选项用于指定分隔符(在本例中,它是“picture:”),$2
用于提取第二个字段(“picture:”后面的单词)。> picturelist.txt
-将awk
命令的输出重定向到名为“picturelist.txt”的文件。我希望这对你有帮助。如果你有任何问题,请告诉我。
c90pui9n7#
将数据放在文本文件中。
在狂舞中奔跑。