Используя sed/awk для удаления чего-либо после первого пространства

Я не знаком с sshfs, но я знаю nobootwait опция работает на разделы локального диска. Возможно, попробуйте:

sshfs#ecarroll@o99:/opt/dealermade/ftp/inc /opt/dealermade/ftp/inc fuse defaults,idmap=user,users,nobootwait 0 0

(Быстрый поиск Google также показывает использование archlinux nofail согласно этому потоку. Немного больше поиска с помощью Google показывает это nobootwait могла бы быть нестандартная функция Ubuntu... любопытная видеть, решает ли она Ваш вопрос.)

20
06.11.2013, 00:33
4 ответа
cut -d ' ' -f 1 < your-file

было бы самым эффективным.

14
27.01.2020, 19:43
  • 1
    я заметил это в нескольких из Ваших ответов и я задавался вопросом, существует ли причина его: Вы всегда, кажется, добавляете перенаправление ввода, даже когда команда может работать без него. Можно ли объяснить почему < полезно здесь? –  Joseph R. 06.11.2013, 00:38
  • 2
    @JosephR. Вы имеете в виду cut < file по сравнению с cut file? Затем посмотрите, что сокращение unix.stackexchange.com/a/70759/22565 –  Stéphane Chazelas 06.11.2013, 00:43
  • 3
    может быть лучшим решением для проблем это простое. Я зарезервировал бы awk (или жемчуг) для более сложного соответствия. –  ChuckCottrill 06.11.2013, 00:44
  • 4
    @StephaneChazelas Спасибо за (характерное) понимание :) –  Joseph R. 06.11.2013, 00:45
awk '{print $1}' file

или

sed 's/ .*//'
5
27.01.2020, 19:43

Sed

sed 's/\s.*$//'

Grep

grep -o '^\S*'

Awk

awk '{print $1}'

Как указано в комментариях, -o не POSIX; однако и GNU и BSD имеют его, таким образом, он должен работать на большинство людей.

Кроме того, \s/\S может не быть во всех системах, если Ваш не распознает его, можно использовать литеральное пространство, или если Вы хотите пространство и вкладку, системы в выражении скобки ([...]), или [[:blank:]] класс символов (отмечают это строго говоря \s эквивалентно [[:space:]] и включает символы пространства по вертикали также как CR, LF или VT, о котором Вы, вероятно, не заботитесь о).

awk каждый предполагает, что строки не запускаются с символа пробела.

35
27.01.2020, 19:43

И один через perl ,

$ perl -pe 's/^([^ ]+) .*$/\1/' file
aaaaaaaa
bbbbbbbb
ccccccccccccccc
ddddd

Через GNU grep,

$ grep -oP '^[^ ]*' file
bbbbbbbb
ccccccccccccccc
ddddd
1
27.01.2020, 19:43

Теги

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