Shell: echo Многосимвольная строка

То же самое здесь 12.04 - я сделал:

sudo -s
mv /etc/udev/rules.d/70-persistent-net.rules ~/
touch /etc/udev/rules.d/70-persistent-net.rules
reboot

Исправлено!

Вы также можете вручную отредактировать этот файл и исправить адреса mac ...

1
задан 24 January 2014 в 21:58

2 ответа

Чтобы избежать использования каких-либо внешних программ, таких как cut или awk, вы можете сортировать строки операторов строки bash, например. если str="/somefolder/andsubfolder", тогда

str="${str##*/}"; echo "${str%.txt}"

удаляет первый компонент ведущего пути (самое длинное совпадение с префиксом */), то удаляет суффикс .txt (кратчайшее суффиксное соответствие *.txt)

[d2 ] Вы также можете сделать

str="${str##*/}"; echo "${str%.*}"

, чтобы удалить любой единственный суффикс .* вместо .txt

2
ответ дан 24 May 2018 в 12:40

попробуйте этот сценарий оболочки

#!/bin/bash

abc=/somefolder/andsubfolder/my_first_text.txt
my_file=$(echo $abc | awk -F/ '{print $4}')
echo "$my_file"

, это обязательно поможет вам.

-1
ответ дан 24 May 2018 в 12:40
  • 1
    Вы протестировали свое «решение»? – Radu Rădeanu 24 January 2014 в 12:30
  • 2
    #! / bin / bash abc = / somefolder / andsubfolder / my_first_text.txt my_file = $ (echo $ abc | awk -F / '{print $ 4}') echo " $ my_file " извините, я не тестировался, поэтому теперь исправляю пожалуйста, запустите это – smn_onrocks 24 January 2014 в 12:34
  • 3
    Нет кубиков, еще -1 ... – Radu Rădeanu 24 January 2014 в 12:35
  • 4
    хорошо .. но теперь я запустил sh-файл в моей системе. где моя ошибка, если вы сообщите мне, что было бы очень мило .. – smn_onrocks 24 January 2014 в 12:37
  • 5
    привет, сэр Раду Рэдеану, пожалуйста, скажите мне, в чем моя ошибка в моем обновленном скрипте. Если вы скажете, что я могу улучшить свой будущий сценарий. – smn_onrocks 24 January 2014 в 12:43

Другие вопросы по тегам:

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