GLOCKSTAR: `** string *` не упускается в поддары `** / * String *` Preate

ssh $ipaddress /bin/bash <<END
do stuff here . . .
and here . . .
END
-121--228260-
 cd $(dirname $(which go))

, которые идут , покажут путь к исполняемому файлу. Затем получите dirname этого пути и cd .

-121--123014-

Однако удалить символ новой строки из строки можно с помощью tr -d '\n ':

$ echo -e "Hello"
Hello
$ echo -e "Hello" | tr -d '\n'
Hello$

Удалить символ новой строки в конце файла можно следующим простым способом:

  1. head -c -1 file

    Из man head :

     -c, -bytes = [-] k
    печатают первые K байт каждого файла; с ведущим "" - "",
    распечатать все, кроме последних K байт каждого файла
    
  2. усечение -s -1 файл

    от man усечение :

     -s, --size = SIZE
    задать или скорректировать размер файла по РАЗМЕРУ
    

     SIZE - целое число и необязательная единица измерения (например, 10M - это 10 * 1024 * 1024).
    Единицы измерения - K, M, G, T, P, E, Z, Y (мощности 1024) или KB, MB,... (полномочия 1000).
    
    SIZE также может иметь префикс одного из следующих модифицирующих символов:
    '+' простираются, '-' уменьшают, '<' самое большее, '>', по крайней мере, '/' округляют в меньшую сторону к нескольким из, '%' окружают к нескольким из.
    
3
10.10.2018, 14:43
1 ответ

Двойник *распадается на эффект единицы *, когда он не ограничивается (только)/:

$ ls *c
abc  ac  acc  bc  cc  dc

$ ls **c
abc  ac  acc  bc  cc  dc

Любой начальный или конечный символ, который не является /, вызывает **затухание:

Это просто потому, что имя пути (как имя файла )не может не содержать какие-либо /.
*невозможно расширить до имени, содержащего /. **в чем-то похож, он будет расширяться до строк, содержащих /, только , когда он один или ограничен /(, а не каким-либо другим символом/строкой):

$ ls -d./** | sort
./
./1
./1/2
./1/2/3
./1/2/3/4
./1/2/3/4/string
./1/2/3/string
./1/2/string
./1/string
./abc
./ac
./acc
./bc
./cc
./dc
./string

$ ls -d./**c | sort 
./abc
./ac
./acc
./bc
./cc
./dc

$ ls -d ** | sort
1
1/2
1/2/3
1/2/3/4
1/2/3/4/string
1/2/3/string
1/2/string
1/string
abc
ac
acc
bc
cc
dc
string

$ ls -d **c | sort
abc
ac
acc
bc
cc
dc

$ ls -d **/ | sort
1/
1/2/
1/2/3/
1/2/3/4/

$ ls -d 1**/ | sort
1/
2
27.01.2020, 21:21

Теги

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