Обрезать первые 9 букв с помощью awk, sed

у меня есть следующие данные в файле, мне нужно только сохранить первый символ 9 файла и / tee его в другой файл

03755432101JONPORT,
037554321031979123120800000000000000000000000000000000
0375543210413855
03755432105JEEY
03755432111P63
03755432133100620120000008156GR1

должен выглядеть как

037554321
037554321
037554321
037554321
037554321
037554321

4 ответов


для такой простой задачи, использовать cut:

cut -b1-9

если ваши данные содержат Unicode, вам может понадобиться -c вместо -b.


используя sed:

sed 's/\(.\{9\}\).*//' input_file

используя gawk:

gawk '{temp = gensub(/(.{9}).*/,"\1", "g"); print temp}' input_file

однако, для таких простых нужд используйте cut как предложил @choroba.


попробуйте следующее :

grep -o "^.\{9\}" FILE

вы можете просто использовать:-

cut -c10-