1
我的程序打印每一个文件的偶数行当前目录:通过awk命令打印的行输出前插入前缀
for file in . *
do
awk 'NR % 2 == 0' "$file"
done
我想它来打印文件,接着前一个冒号的名称输出中的每一行。 awk命令执行任务时,我找不到插入任何东西的方法。用awk做这件事是不可能的?提前感谢您的任何建议。
我的程序打印每一个文件的偶数行当前目录:通过awk命令打印的行输出前插入前缀
for file in . *
do
awk 'NR % 2 == 0' "$file"
done
我想它来打印文件,接着前一个冒号的名称输出中的每一行。 awk命令执行任务时,我找不到插入任何东西的方法。用awk做这件事是不可能的?提前感谢您的任何建议。
awk
支持FILENAME
变量,其中包含猜猜是什么?文件名。你甚至不需要shell循环。简单地说:
awk 'NR % 2 == 0 {printf "%s:%s\n", FILENAME, $0}' *
这个怎么样?
IFS=$'\r\n'
for file in . *
do
for line in `awk 'NR % 2 == 0' "$file"`
do
echo $file: $line
done
done