我是UNIX新手.. 可以请任何人解释我这行代码...
cat $0|sed -n '/^# [hH]\*/p'|sed 's/^# [hH]\*//g'|pg
答案 0 :(得分:1)
可以概括为:
从当前脚本文件中提取以# h*
或# H*
开头的行,
删除了起始# [hH]*
,
并转到pg
计划。
说明:
$0
是正在执行的文件的名称。如果您将脚本作为./path/to/script.sh
运行,则它将是该路径。sed
仅打印以# [hH]\*
开头的行,其中[hH]
表示h
或H
,\*
表示文字*
字符。 ^
表示“开始一行”。sed
无效取代起始# [hH]\*
,有效删除模式。它有g
标志来执行替换次数与匹配一样多次,但这里没有意义,因为^
保证只有匹配。pg
做了什么...... 它与这个更简单(更安全)的管道实际上是一样的:
sed -n 's/^# [hH]\*//p' "$0" | pg