2012-10-22 36 views
0

我需要创建一个bash脚本来剪切用户(输入)请求的数据文件中的一列。该脚本需要提示一个字段,该字段将成为用于剪切所请求字段的变量。这是我试过的脚本之一:使用剪切来通过用户输入剪切一个字段

$x = cut -c example_list 
echo -n "What column would you like to cut: " 
set x = $< 
+1

而你已经尝试过什么问题...?你为什么要提示价值,然后不使用它? –

+0

我不确定通过cut命令获取用户输入的最佳方式。我需要从命令行运行此脚本,并使用用户提示符执行它。 – demet8

回答

2

可以使用read获取用户输入:

echo -n "What column would you like to cut: " 
read col 
cut -f $col ... 
+0

当我通过命令行运行此脚本时,如何让此脚本运行并读取位于特定目录中的文件? – demet8

+0

'cut -f $ col col path/to/file ...' – nneonneo

+0

非常感谢。 – demet8

1

你可以使用一个awk脚本。这比cut更强大。运行像script.awkawk -f script.awk file.txt

内容:

BEGIN { 
    printf "Enter a column: " 
    getline col < "-" 
} 

{ 
    print $col 
} 

另外,这里是一个班轮:

awk 'BEGIN { printf "Enter a column: "; getline col < "-" } { print $col }' file.txt 
+0

Steve谢谢你的awk脚本。我将把它用于我有的其他项目。 – demet8