我加载了一个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"