Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Unix 使用grep(或任何东西)查找以符号开头的关键字,然后以逗号分隔输出_Unix_Find_Grep_Design Patterns - Fatal编程技术网

Unix 使用grep(或任何东西)查找以符号开头的关键字,然后以逗号分隔输出

Unix 使用grep(或任何东西)查找以符号开头的关键字,然后以逗号分隔输出,unix,find,grep,design-patterns,Unix,Find,Grep,Design Patterns,我正在尝试将一组数据从一个Web服务迁移到另一个Web服务,在这个过程中,我希望确保我做得正确,这样我就不会纠结于某些不正确或不合适的事情 我想做的一件事是在一个文件中查找由poundsign引导的单词,然后立即提取紧跟其后的单词,然后以逗号分隔的方式打印出来 例如,在文件中的某些地方会出现“#word-#word2:#word3”-注意,它们之间有完全随机的内容,-然后我希望能够将其作为 words='word,word2,word3' 抛弃庞德标志和他们周围的任何其他胡言乱语 除了基本的脚本

我正在尝试将一组数据从一个Web服务迁移到另一个Web服务,在这个过程中,我希望确保我做得正确,这样我就不会纠结于某些不正确或不合适的事情

我想做的一件事是在一个文件中查找由poundsign引导的单词,然后立即提取紧跟其后的单词,然后以逗号分隔的方式打印出来

例如,在文件中的某些地方会出现“#word-#word2:#word3”-注意,它们之间有完全随机的内容,-然后我希望能够将其作为

words='word,word2,word3'

抛弃庞德标志和他们周围的任何其他胡言乱语

除了基本的脚本之外,我对任何事情都一窍不通。非常感谢您的帮助。

您可以尝试:

grep -o "#[^ ]*" file | tr -d '#' | tr '\n' ','
您可以尝试:

grep -o "#[^ ]*" file | tr -d '#' | tr '\n' ','

这是一个好的开始。在我运行这个程序的大多数文件中,我最终得到的是我要查找的数据加上大约15个我没有找到的条目。这是我的错,没有想到提到这些都是HTML文件,所以每个ID、颜色代码等前面都有一个hashtag。不过,我要查找的数据的常见链接是,它后面总是有一个结束锚标记,因此我要查找的模式实际上是#word.grep-o“#[^]*”file | tr-d'| tr'\n',似乎在初始测试中起了作用;我会在几次测试后马上报告。刚刚在尝试抛开关闭锚时遇到了严重的副作用;grep-o“#[^]*”文件| tr-d'#'| tr-d'| tr'\n'',最后从任何搜索结果中删除字母“a”。宾果。我不确定我的情况是否需要删除尾随逗号,但这是一个简单的调整吗?要删除尾随逗号:
|sed's/,$/'
,这是一个好的开始。在我运行这个程序的大多数文件中,我最终得到的是我要查找的数据加上大约15个我没有找到的条目。这是我的错,没有想到提到这些都是HTML文件,所以每个ID、颜色代码等前面都有一个hashtag。不过,我要查找的数据的常见链接是,它后面总是有一个结束锚标记,因此我要查找的模式实际上是#word.grep-o“#[^]*”file | tr-d'| tr'\n',似乎在初始测试中起了作用;我会在几次测试后马上报告。刚刚在尝试抛开关闭锚时遇到了严重的副作用;grep-o“#[^]*”文件| tr-d'#'| tr-d'| tr'\n'',最后从任何搜索结果中删除字母“a”。宾果。我不确定我的情况是否需要删除尾随逗号,但这是一个简单的调整吗?要删除尾随逗号:
|sed's/,$/'