часть вида файла

По крайней мере, если Вы не можете удалить последнюю панель из Предпочтений Панели, затем можно сделать ее как можно меньше, переместиться, она к краю и выбору экрана "Автоматически скрывает и показывает панель" и Панель Блокировки. Это должно минимизировать недвижимость, которую это использует. Когда я делаю это с новой панелью, я получаю так прямоугольник в углу экрана, который открывается к размеру мыши, когда я нависаю над ним.

7
11.05.2013, 02:32
3 ответа

Я думаю, что Вы, после что-то как они:

Метод № 1: использование головы и хвоста

$ (head -n 2 sample.txt; tail -n +3 sample.txt | sort -t' ' -nk2) > a.tmp && mv a.tmp sample.txt

Nome     Note
------------
Mehdi    0
Shnou    5
Others   10
Sunday   20

Это проводит первую строку текстового файла, затем выслеживает все после первых 2 строк, которое затем отсортировано.

Метод № 2: просто использование головы

$ (head -n 2; sort -t' ' -nk2) < sample.txt > a.tmp && mv a.tmp sample.txt

Nome     Note
------------
Mehdi    0
Shnou    5
Others   10
Sunday   20

Берет текстовый файл в качестве входа, дисплеи просто первая строка, вид остальные.

Это обычно - не хорошая идея отредактировать файлы на месте. Это возможно, но лучше использовать промежуточный файл.

Метод № 3: Выполнение № 2 без промежуточного файла

Кража идеи от @StephaneChazelas, Вы могли сделать следующее использование "1 <>" нотация для открытия файла для чтения и записи и улучшений, которые он предложил с sort команда.

$ (head -n 2; sort -nk2) < sample.txt 1<> sample.txt

Nome     Note
------------
Mehdi    0
Shnou    5
Others   10
Sunday   20
7
27.01.2020, 20:15
  • 1
    , но файл остается неизменным, я должен использовать промежуточный файл? –   10.05.2013, 18:02
  • 2
    файл стал пустым –   10.05.2013, 18:17
  • 3
    Судите их теперь, я решил использовать промежуточные файлы. –  slm♦ 10.05.2013, 18:27
  • 4
    я думаю, что лучше использовать head -2 и включайте пунктирные линии как часть головы. Они отсортированы правильно теперь, но это - вероятно, не случай при использовании разделителя как = = = = ( '=' > '9' > '-' ). –  Anthon 10.05.2013, 19:05
  • 5
    @Anthon, положительная сторона. –  slm♦ 10.05.2013, 19:06

Для перезаписи файла на месте можно сделать:

{
  head -n 2 &&
    sort -k2n
} < the-file.txt 1<> the-file.txt

Это работает потому что sort считал его вход полностью, прежде чем он начнет писать свой вывод, таким образом, хорошо писать в файл, он читает из. Также ее ouput является тем же размером как ее вход, таким образом, никакая потребность усечь файл в конце.

Обратите внимание на это, если Вы используете -t' ' вместо разделителя по умолчанию каждый пробел во входе сделал бы новое поле, так например, в:

 a 10
b  2

(с пространством прежде a и 2 пробелов после b), -t' ' -nk2 (помните -k2 для от поля 2 до конца строки, в то время как -k2,2 только поле 2), выдержал бы сравнение "a 10" кому: " 2" численно, в то время как -nk2 один выдержал бы сравнение " 10" кому: "  2" численно (и числовое сравнение игнорирует начальные пробелы).

7
27.01.2020, 20:15
  • 1
    Вы собираетесь, должны объяснить, что волшебный 8-) –  slm♦ 10.05.2013, 18:31
  • 2
    , который я получаю {}, является списком. Что продолжает 1 <>. –  slm♦ 10.05.2013, 18:44
  • 3
    1<> перенаправление чтения-записи Bourne, один из стандартных операторов перенаправления как < и >. –  Stéphane Chazelas 10.05.2013, 19:48
  • 4
    Спасибо, я нашел его в странице справочника после того, как я спросил. Изученный что-то новое сегодня. Никогда не замечал тот метод. –  slm♦ 10.05.2013, 19:49

Мне нужно было отсортировать 2 части одного файла. В значительной степени вдохновленный другими ответами, вот расширенный ответ:

файл.txt

Nome     Note
------------
Mehdi    0
Sunday   20
Others   10
Shnou    5

Example
------------
Foo
bar
Baz

Results: Finished!

Несколько разделов могут быть объединены в цепочку и отсортированы или нет с различными параметрами. Используйте catв качестве последнего шага для вывода любых несортированных фрагментов в конце.

(head -n 2; head -n 4 | sort -nk2 ; head -n 3; head -n 3 | sort; cat ) < file.txt 1<> sorted.txt

отсортированный.txt

Nome     Note
------------
Mehdi    0
Shnou    5
Others   10
Sunday   20

Example
------------
bar
Baz
Foo

Results: Finished!
1
27.01.2020, 20:15

Теги

Похожие вопросы