我刚刚开始学习awk编程,我仍然习惯于bash终端。如果我要写一个表达式以匹配开始与 de 和结束与 ed 的字符串,我想知道它是怎么回事?
想到类似的东西:
echo -e "deed\ndeath\ndone\ndeindustrialized" |awk '/^de.ed$/'
其中我匹配起始并匹配awk命令中的结尾但它没有打印出任何东西。我会感激一些帮助。
它应该产生:
deed
deindustrialized
我今天刚开始,想知道。
答案 0 :(得分:2)
awk部分应该是:
... | awk '/^de.*ed$/'
deed
deindustrialized
.
匹配任何字符,而*
表示前面的项目将匹配零次或多次。
答案 1 :(得分:1)
尝试使用awk:
echo -e "deed\ndeath\ndone\ndeindustrialized" | awk 'NR==1;END{print}'
以下是同样的解释。
awk '
NR==1; ###Checking the NR(Number of line) value is 1, if yes then print the current line(awk works on method of pattern/action, if a condition is TRUE then do actions, in case of NO action do default action which is print of current line).
END{print}' ###In END section now, so it will print the last line of Input_file.