Как выбрать данный столбец из строки текста? - PullRequest
12 голосов
/ 19 октября 2010

Предположим, у меня есть это предложение:

My name is bob.

И я хочу скопировать слово "is" из этого предложения в переменную.Как мне получить доступ к этому слову, не зная заранее слова, которое я ищу?Если я знаю, что конкретное слово или строка находятся в третьем столбце текста в текстовой строке из пяти столбцов, как я могу взять слово в третьем столбце?

Я использую оболочку Борна.

Ответы [ 3 ]

17 голосов
/ 19 октября 2010
word=$(cut -d ' ' -f 3 filename)

cut дает нам третье поле каждой строки (в данном случае это 1). -d используется для указания пробела в качестве разделителя. $() захватывает вывод, затем мы присваиваем его переменной word.

8 голосов
/ 19 октября 2010

вы можете использовать cut, awk и т. Д.

Пример:

awk '{print $3}' my_file.txt
0 голосов
/ 23 октября 2010
sentence='My name is bob.'
set -- $sentence
echo $3

или

sentence='My name is bob.'
set -- $sentence
shift 2    # or use a variable
echo $1
...