2016-12-23 42 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

相關問題