как манипулировать строками с помощью shell-скрипта - PullRequest
0 голосов
/ 30 июля 2009

Вот что я использовал:

for i in `find some -type f -name *.class` 

Я получил:

some/folder/subOne/fileOne.class
some/folder/subOne/fileTwo.class
some/other/sub/file.class

Далее я бы хотел избавиться от "some/" для каждого значения $i. Какую команду я могу использовать? Должен ли я сначала сохранить их в файл?

Спасибо

Ответы [ 2 ]

1 голос
/ 30 июля 2009
$ i=some/other/sub/file.class
$ echo ${i#some/}
other/sub/file.class

В Bash встроены простые операции со строками. См. Также $ {i% .class} и команды basename и dirname.

0 голосов
/ 30 июля 2009

awk :) http://en.wikipedia.org/wiki/AWK

РЕДАКТИРОВАТЬ: О, и вы можете передавать команды вместе, так что вывод первой команды действует как ввод для второй. Нравится 'cat example.txt | less 'выведет файл через paginator.

...