Используйте опцию global apropos в man
.
-K, --global-apropos
Search for text in all manual pages. This is a brute-force search, and is likely to take some time; if you can, you should specify a section to reduce the number of pages that need to be searched. Search terms may be simple strings (the default), or regular expressions if the --regex option is used.
Итак, man -K viminfo
предоставит вам нужную страницу.
Попробуйте освободить место после знака «=». Я имею в виду, попробуйте
number=$(echo "$number"| cut -f 3 )
вместо
number= $(echo "$number"| cut -f 3 )
-121--154312- Кажется, что/U и/L просто не работают с OSX/BSD sed
вместе с
sed /pattern/,+2d # like `sed '/pattern/{N;N;d;}'`
sed -n 0~3p # like `awk NR%3==0`
sed /pattern/Q # like `awk '/pattern/{exit}1'` or `sed -n '/pattern/,$!p'`
sed 's/\b./\u&/g' # \u converts the next character to uppercase
sed 's/^./\l&/' # \l converts the next character to lowercase
sed -i '1ecat file_to_prepend' file # e executes a shell command
sed -n l0 # 0 disables wrapping
Спасибо, ребята. Моя репутация еще недостаточно высока, чтобы поддержать, но Майк, ты решил мою проблему с сепом, и я согласен со Стефаном. Кажется, что неловкость - лучший выбор.
sed 'h;s/[^,]*,[^,]*,//
y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
H;x;s/[^,]*\n//
' foo.file
Простая задача не требует SED
while IFS=',' read -r first mid last
do
echo "$first, $mid, ${last^^}"
done < file_with_commas
Если Bash
Bash версия не поддерживает переменное расширение, которое вы можете использовать TR
last=$(echo $last | tr [[:lower:]] [[:upper:]])
\ U
- это GNUism, на самом деле вдохновленный BSDism, поскольку он происходит от эквивалентной команды s
в ex
редактор (режим командной строки vi
).
OS / X sed
, скорее всего, происходит от самой FreeBSD, происходящей от 4.4BSD sed
, которая была переписана с нуля из-за проблем с авторскими правами с AT&T. В любом случае, ни BSD, ни AT&T sed
не поддерживают \ U
в своей команде s
.
Для преобразования в верхний регистр в переносимом sed
обычно используется команда y
, как уже было показано .
Но здесь лучше, вероятно, использовать awk
:
awk -F, -vOFS=, '{$1 = toupper($1); print}'