Нужно удалить последнюю строку - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть код

echo whoisdatacenter.com_101_llc.csv | sed 's/_/ /g' | perl -pe 's/\w+/\L\u$&/g'

Это дает мне

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Whoisdatacenter.Com 101 Llc.Csv

Как мне добиться

WHOISDATACENTER.COM 101 LLC

(в шапках и ".csv" удалены)

Ответ с небольшим объяснением будет очень полезен ...

Ответы [ 4 ]

2 голосов
/ 27 апреля 2020

С GNU sed для \U:

$ echo 'whoisdatacenter.com_101_llc.csv' |
    sed 's/\.csv$//; s/_/ /g; s/.*/\U&/g'
WHOISDATACENTER.COM 101 LLC
0 голосов
/ 27 апреля 2020

Этого можно добиться с помощью комбинации команд sed и tr.

echo whoisdatacenter.com_101_llc.csv|sed 's!.csv! !g; s!_! !g'|tr '[:lower:]' '[:upper:]'

WHOISDATACENTER.COM 101 LL C

Первая команда sed заменяет файл .csv с пустым.

Вторая команда sed заменяет специальный символ (_) на пустое.

Используя команду tr для преобразования строчных букв в прописные

0 голосов
/ 27 апреля 2020

\L\u (заглавными буквами первый, строчными остальными) должно быть \U (заглавными все).

perl -pe's/_/ /g; s/\.csv$//; s/.*/\U$&/'

Вы также можете использовать

perl -pe's/_/ /g; s/\.csv$//; $_ = uc($_)'

perl -pe'$_ = uc(s/_/ /gr =~ s/\.csv$//r)'

perl -ne'print uc(s/_/ /gr =~ s/\.csv$//r)'

Вы будете Нужно исправить свой язык, чтобы избавиться от предупреждения - что-то, что вы должны делать, несмотря ни на что - но это не должно мешать любому из вышеперечисленного работать.

0 голосов
/ 27 апреля 2020
echo whoisdatacenter.com_101_llc.csv | awk -F ".csv" '{print toupper($1)}'

Мы устанавливаем разделитель полей как .csv, так что поле $1 всегда является подстрокой до первого .csv вхождения (в данном случае whoisdatacenter.com_101_llc). Затем в этом поле используется строковая функция toupper, преобразующая его в символы верхнего регистра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...