首页 > 解决方案 > 了解标准输入、标准错误、标准输出

问题描述

我想编写一个脚本,它将:

我试过了

#!/bin/bash

count=0
while IFS= read -r line; do

        awk '{if(NR%3==0) print $line}' >&2
        awk '{if(( RANDOM % 2 )) print $line}' >&1
done

但是,RANDOM 不起作用。这里有什么问题?如何解决这个问题?

标签: linuxbash

解决方案


在使用 RANDOM bash 变量值之前,您必须将其赋值为 awk 变量。随机线必须是这样的:

awk -v random="$RANDOM" -v aline="$line" 'BEGIN {if(random % 2) print aline}' >&1

推荐阅读