【发布时间】:2014-04-11 15:15:57
【问题描述】:
我想编写一个别名来打印文件夹中所有文件的特定行,即:$ print_line 20 - 将打印文件夹中所有文件的第 20 行。
我花了一个小时在 .bashrc 中处理各种结构(下面的一些示例),有很多不同的转义,但到目前为止没有任何效果。感谢您的帮助。
alias a="for f in create*; do sed -n '\$1{p;q}' $f; done"
alias b="for f in create*; do awk 'NR==\$1{print $0}' $f; done"
function l { r=$(echo \'"$1"{p;q}\'); sed -n "$r" *; }
【问题讨论】:
-
为什么?
awk 'FNR==20' *会像print_line 20 *一样简洁地做到这一点 -
感谢您的评论,那也可以。很明显,我对 awk 和 shell 也不太熟悉。