Существует emacs встроенное учебное руководство, доступное путем ввода Ctrl+h, thent. Это можно рассмотреть как vimtutor эквивалент.
Сокращение делает свое задание однажды. Можно прокрутить что-то cut
дважды для срезания его еще больше но он кажется, что необходимо использовать что-то как awk
, sed
, или perl
вместо этого.
Пример выполнения нескольких cut
s:
cut -f 2 | cut -c 3-6
Использование в качестве примера perl
это будет работать над Вашей строкой данных:
perl -pne "s/=> '([^|]+\|){3}([^|]+)/\2/g"
Вот a sed
версия от Fred в комментариях:
sed -re "s/=> ([^|]*\|){3}([^|]*).*/\2/"
Этот вопрос выглядит до странности знакомым , хотя я вижу, что на самом деле он возник первым.
Самый простой и понятный подход, который я вижу, - это использовать Awk следующим образом:
awk -F'|' '{print substr($0,1,19), $4}' text.txt
Это в точности эквивалент вашей попытки команды , за исключением того, что это рабочий код. ;) cut -c 1-19 -d '|' -f 4
cut
:) Я случайно совершил нападки, сохраняют, в то время как я все еще тестировал код в терминале. – Caleb 02.06.2011, 12:50sed -re "s/ => ([^|]*\|){3}([^|]*).*/ \2/"
– Peter.O 02.06.2011, 15:49