/usr/bin/cut: bash脚本中的参数列表太长



我加载了一个csv文件到一个变量,然后我试图削减一些列,导致这个错误/usr/bin/cut:参数列表太长。以下是我所做的:

if [ $# -ne 1 ]; then 
    echo "you need to add the file name as argument"
fi 
echo "input file name $1"
input_file=$(<$1)
#cut the required columns. 
cut_input_file=$(cut -f 1,2,3,5,8,9,10 -d | $input_file)
echo $(head $cut_input_file)

我错过了什么?

这个错误的原因是你使用的$input_file有完整的文件数据。

您需要在文件而不是文件内容上运行cut,因此使用:

cut -f 1,2,3,5,8,9,10 -d '|' "$1"

对文件内容运行cut:

cut -f 1,2,3,5,8,9,10 -d '|' <<< "$input_file"

最新更新