Ten kod podaje pierwszą część, ale jak ją usunąć i uzyskać cały ciąg bez pierwszej części?Jak usunąć pierwszą część łańcucha w bash?
echo "first second third etc"|cut -d " " -f1
Ten kod podaje pierwszą część, ale jak ją usunąć i uzyskać cały ciąg bez pierwszej części?Jak usunąć pierwszą część łańcucha w bash?
echo "first second third etc"|cut -d " " -f1
Trzeba spojrzeć na info cut
, który wyjaśni co f1
środków. Również to samo pytanie: question-7814205
Właściwie potrzebujemy pól po (i) drugim polu. -f
mówi polecenie wyszukiwania według pola, a 2-
oznacza drugie i następne pola.
echo "first second third etc" | cut -d " " -f2-
można zrobić:
echo "first second third etc" | cut -d " " -f2-
>> second third etc
spróbować zrobić to:
echo "first second third etc"|cut -d " " -f2-
Jest to wyjaśnione w
man cut | less +/N-
N- od N'th bajtu, znaku lub pole d, do końca linii
O ile z was ma znacznik bash, można użyć bash parameter expansion tak:
x="first second third etc"
echo ${x#* }
Spróbuj tego: -
echo "first second third etc"|cut -d " " -f2-
Można użyć substring removal w tym celu nie ma potrzeby stosowania narzędzi zewnętrznych:
$ foo="a b c d"
$ echo "${foo#* }"
b c d