Menggunakan sed
apa satu liner untuk mencetak n karakter pertama ? Saya melakukan hal berikut:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
Menggunakan sed
apa satu liner untuk mencetak n karakter pertama ? Saya melakukan hal berikut:
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
Jawaban:
Jangan gunakan sed
, gunakan cut
:
grep .... | cut -c 1-N
Jika Anda HARUS menggunakan sed
:
grep ... | sed -e 's/^\(.\{12\}\).*/\1/'
sed -r 's/^(.{12}).*/\1/'
.
-r
tampaknya tersedia di Linux, tetapi tidak di Mac.
cut -c 1-N
(di mana N adalah angka) tidak bekerja pada instalasi Cygwin saya (cygwin 2,6 v, dipotong v 8,25..) Pada OS X, gunakan sed -E
bukan sed -r
, digunakan di tempat lain.
colrm x
Misalnya, jika Anda membutuhkan 100 karakter pertama:
cat file |colrm 101
Sudah ada selama bertahun-tahun dan di sebagian besar linux dan bsd (freebsd pasti), biasanya secara default. Saya tidak ingat pernah mengetik apt-get install colrm
.
colrm
mengerti utf8.
tidak harus menggunakan grep juga
sebuah contoh:
sed -n '/searchwords/{s/^\(.\{12\}\).*/\1/g;p}' file
Ketat dengan sed:
grep ... | sed -e 's/^\(.\{N\}\).*$/\1/'
Bagaimana dengan kepala ?
echo alonglineoftext | head -c 9
cut
tidak menghentikannya sementarased
itu.