Ваш ответ может делать то, что вы хотите, но его можно улучшить.
Вы хотите свести к минимуму количество (простых )команд и количество труб, в пределах разумного. Наличие большего их количества, чем вам нужно, может быть неэффективным. На файле в пять-десять строк этого не заметишь, но когда вы обрабатываете файл с миллионом строк, это может иметь значение.
Вам не нужно запускать две sed
команды (одну в другую ). Вы можете сделать
sed -e '(first s command)' -e '(second s command)'или
sed '(first s command) ; (second s command)'
s/\t/ /
также должна иметь префикс 1
. s/…/…/6g
не определено. Поскольку вы хотите, чтобы s/\t/ /
выполнялось только один раз (на 6-й вкладке ), вы должны сказать простоs/\t/ /6
(безg
). Таким образом, ваша команда может быть
sed '1s/\t/\t0\t/4; 1s/\t/ /6' file
Фигурные скобки позволяют группировать команды, которые вы хотите выполнять вместе. Так что вы могли бы также сказать
sed '1{s/\t/\t0\t/4; s/\t/ /6}' file
Вы можете сделать это в awk следующим образом:
awk -F '\t' -v OFS='\t' 'NR==1 { $6 = $5 " " $6; $5 = "0" } { print } ' file
В корневом/системном разделе недостаточно места.
Для быстрого исправления попробуйте очистить кеш pacman
sudo paccache -r -k 1
Также посмотрите, какой журнал systemd использует:
journalctl --disk-usage
Вы можете ограничить его размер с помощью
sudo mkdir -p /etc/systemd/journald.conf.d/
sudo sh -c 'echo -e "[Journal]\nSystemMaxUse=50M" > /etc/systemd/journald.conf.d/00-journal-size.conf'
sudo systemctl restart systemd-journald
Существует также утилита под названием ncdu , которая может помочь вам выяснить, для чего используется ваше пространство.
sudo pacman -S ncdu
sudo ncdu -ex /