我正在寻找一种在使用AWK的命令提示环境中在字段中打印不同值的方法。
ID Title Promotion_ID Flag
12 Purse 7 Y
24 Wallet 7 Y
709 iPhone 1117 Y
74 Satchel 7 Y
283 Xbox 84 N
理想情况下,我想返回promotion_ids:7,1117,84。 我在谷歌上研究了这个问题,并找到了一些例子:
`cut -f 3 | uniq *filename.ext*` (returned error)
`awk cut -f 3| uniq *filename.ext*` (returned error)
`awk cut -d, -f3 *filename.ext* |sort| uniq` (returned error)
答案 0 :(得分:2)
解决方案1: 简单awk
可能会有所帮助。(以下将删除Input_file的标头)
awk 'FNR>1 && !a[$3]++{print $3}' Input_file
解决方案第二: 如果您需要保留Input_file的标头,那么以下内容可能对您有帮助。
awk 'FNR==1{print;next} !a[$3]++{print $3}' Input_file
答案 1 :(得分:2)
function my_template( $attr ) {
ob_start();
get_template_part( 'partials/modules/content' );
return ob_get_clean();
}
add_shortcode( 'template', 'my_template' );
function get_products($atts = [], $output = null) {
return "
<div class='shortcode'>
".do_shortcode('[template]')."
</div>
";
}
add_shortcode('resources', 'get_products');
输出:
7 84 1117
答案 2 :(得分:0)
使用管道
$ sed 1d file | # remove header
tr -s ' ' '\t' | # normalize space delimiters to tabs
cut -f3 | # isolate the field
sort -nu # sort numerically and report unique entries
7
84
1117