[shell] sed를 사용하여 줄의 처음 ‘N’문자를 어떻게 인쇄합니까?

사용 sed첫 번째 인쇄 할 수있는 하나의 라이너 무엇 n 문자는 ? 다음을 수행하고 있습니다.

grep -G 'defn -test.*' OctaneFullTest.clj  | sed ....



답변

사용하지 말고 다음을 sed사용하십시오 cut.

grep .... | cut -c 1-N

반드시 사용해야하는 경우 sed:

grep ... | sed -e 's/^\(.\{12\}\).*/\1/'


답변

colrm x

예를 들어, 처음 100자가 필요한 경우 :

cat file |colrm 101 

수년 동안 사용되어 왔으며 대부분의 Linux 및 bsd (확실히 freebsd)에 있으며 일반적으로 기본적으로 제공됩니다. 입력해야했던 기억이 안 나apt-get install colrm .


답변

grep도 사용할 필요가 없습니다

예 :

sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file


답변

엄격하게 sed :

grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'


답변

N 개의 첫 번째 문자를 인쇄하려면 행 끝까지 N + 1 문자를 제거 할 수 있습니다.

$ sed 's/.//5g' <<< "defn-test"
defn


답변

방법에 대해 머리 ?

echo alonglineoftext | head -c 9


답변