2016-12-23 73 views
1

我一直在浏览Bash系统的文档,而我根本没有找到答案,这是有道理的。-f用Sort表示什么?

由于符号在不同的上下文中赋予不同的含义 - 在以下命令中-f代表什么?

sort -m -f <(grep "[^A-Z]..$" memo1 | sort) <(grep ".*aba.*" memo2 |sort) 

我明白了排序,合并,输出的重定向和grep的分别运行在memo1和memo2正则表达式模式。

-f做什么?

+0

由于'-f'是一个选项'sort',你应该看的'文档sort'。你做到了吗? –

+0

是的,我发现答案是“它将小写字母大写为大写字母”,我不得不对折叠过程进行进一步的研究,以了解它与折叠相关的内容。 我主要想了解这个过程,但我想通了 - 谢谢! –

+2

这是值得写出你的问题,以清楚地表明你已经阅读手册页 - 否则,它看起来像一个努力。 (例如:“我在手册页中看到'-f''将小写字母大写为大写字母',但在这种情况下'折叠'是什么意思?”) –

回答

2
man sort | grep "\-f" 

回报:

-f, --ignore-case 

注意,在Ubuntu和衍生物,所述LC_COLLATE环境变量是不区分大小写的排序规则。

这意味着sortsort -f是等价的在这些平台上,当LC_COLLATE没有改变:

echo "B\nA\nb\na\nC" | sort 
a 
A 
b 
B 
C 

echo "B\nA\nb\na\nC" | sort -f 
a 
A 
b 
B 
C 

echo "B\nA\nb\na\nC" | LC_COLLATE=C sort # <- If you need case sensitive sort. 
A 
B 
C 
a 
b 
+0

您的示例显示了默认的'LC_COLLATE'大小写 - 不敏感,不是“排序”是不区分大小写的。 – Barmar

+0

否则你会如何解释'sort'和'sort -f'的相同结果? –

+1

您的'LC_COLLATE'环境变量是不区分大小写的排序规则。当你将它改为'LC_COLLATE = C'时,当你不使用'-f'时,你会得到区分大小写的排序。 – Barmar

相关问题