Linux 使用shell在指定模式后将多个文本行复制到文件中
我想使用shell将标有图案的文件1中的多行插入文件2。Linux 使用shell在指定模式后将多个文本行复制到文件中,linux,bash,text,awk,sed,Linux,Bash,Text,Awk,Sed,我想使用shell将标有图案的文件1中的多行插入文件2。 模式为10个数字,输入始终不同例如:“2016854218” 文件1示例(输入): [...] <a class="none" data-container="#fr_5854841" href="https://example.com/profiles/2016854218"></a> <div class="new_cl"> <img src="20168542
模式为10个数字,输入始终不同例如:“2016854218” 文件1示例(输入):
[...]
<a class="none" data-container="#fr_5854841" href="https://example.com/profiles/2016854218"></a>
<div class="new_cl">
<img src="2016854218_medium.jpg">
</div>
<div class="blocker">Novaa<br>
<span class="friend_small_text">
[...]
2016854218
2016859711
2017076181
grep-Eo'\d{10}file1>file2
编辑:,因为OP希望有http
链接的完整值,直到所有数字现在也添加此解决方案
awk --re-interval 'match($0,/https:.*[0-9]{10}/){print substr($0,RSTART,RLENGTH)}' Input_file
如果您的输入_文件中有M个字符,请先执行
cat-v输入_文件
,如果有,请运行dos2unix
实用程序。如果没有,请使用:
tr -d '\r' < Input_file > temp_file && mv temp_file Input_file
现在,一旦您的控件Ms不在输入_文件中,您可以使用以下命令:
awk --re-interval 'match($0,/[0-9]{10}/){print substr($0,RSTART,RLENGTH)}' Input_file > Output_file
如果您随身携带较新版本的GNUawk
,您可以删除--re interval
awk -F'href="' '{print $2}' a |rev | cut -c 4- | rev
这会将整个输入文本剪切为仅链接
输入:
[...]
<a class="none" data-container="#fr_5854841" href="https://example.com/profiles/2016854218"></a>
<div class="new_cl">
<img src="2016854218_medium.jpg">
</div>
<div class="blocker">Novaa<br>
<span class="friend_small_text">
[...]
你尝试了什么?您的问题旨在明确从该输入中获取输出的具体步骤。@PesaThe我尝试了notepad++。。。没有太多地处理bash控制台。@EdMorton我试图在输出中得到这个。不知道怎么做,先生。我们知道你不知道怎么做,我们要求你告诉我们你想做什么。您是要打印输入中的每10位数字,还是仅打印
href=”中的数字https://example.com/profiles/2016854218“
或者仅仅是src=“2016854218_medium.jpg”
中的数字还是其他什么?预期输出中的其他2个数字来自哪里?它们是输入中的其他地方(如果是,请将它们包括在示例中),还是您通过某种算法或其他方法生成它们?等等…谢谢你的尝试,但是这个命令不起作用。文件2(输出)为空。请为您的答案添加一个简单的解释。谢谢。这是一个脆弱、复杂、低效的方法,输出与您所说的输出不匹配。如果你告诉我们你想做什么,你现在会有一个很好的解决方案,相反,你已经发布了两个答案,它们与你自己的解决方案不一样,你已经接受了其中一个,这将阻止其他人发布答案,你有自己的解决方案,这是做任何事情的错误方式,但你仍然没有更新你的问题来解释你到底想做什么。@Andrzej Strzelba,请检查我的编辑答案,让我知道这是否有帮助,但你们真的应该在一篇文章中告诉你们所有的要求,否则人们很难理解这个问题。
[...]
<a class="none" data-container="#fr_5854841" href="https://example.com/profiles/2016854218"></a>
<div class="new_cl">
<img src="2016854218_medium.jpg">
</div>
<div class="blocker">Novaa<br>
<span class="friend_small_text">
[...]
https://example.com/profiles/2016854218