Очевидно, что вы не можете ssh
подключиться к iOT в режиме U -Boot, поскольку ядро Linux еще даже не начало загружаться.
Одним из возможных решений является подключение ssh
интерфейса Wi-Fi к другому дешевому iOT рядом с вашей платой (, например, Orange PI или rpi ).
Эта вторая плата оснащена USB-портом для последовательного кабеля USB-TTL Debug Console, PL2303. Этот адаптер, в свою очередь, подключается к вашей целевой плате через контакты JTAG/консоли.
Таким образом, вы ssh
переходите на 2-ю плату под управлением Linux и запускаете терминальную программу, например, minicom
для подключения через RS -232 к вашей целевой плате.
Другим возможным решением является покупка адаптера Bluetooth-последовательный порт и доступ к нему через Bluetooth. Я предпочитаю первый, который отвечает непосредственно на ваш вопрос, и часто проще начать работать и выполнять отладку.
Вы должны иметь возможность просто использовать поле в имени выходного файла. Простое решение:
awk -F, '{print > ("file_" $4 ".csv")}' Test.csv
Это работает по крайней мере в GNU awk и создает file_A.csv
, file_B.csv
и т. д. Обратите внимание, что при этом все выходные файлы остаются открытыми, и чем больше их, тем медленнее, особенно если вы нажмете на процесс -лимит открытых файлов.
-F,
устанавливает запятую в качестве разделителя полей.
Я не уверен, что должен делать показанный вами скрипт.
Что-то вроде& #x00A0;это:
$ awk -F, '{ print $0 >> "file-" $4 ".txt"; }'./tmp.txt
Так же, как упоминается в & #xA0; @ilkkachu, флаг -F
на& #xA0;изменить& #xA0;разделитель полей с& #xA0;на& #xA0;по умолчанию, символы пробела, to& #xA0;a& #xA0;запятая.& #x2003Вы должны использовать >>
вместо& #xA0;из& #xA0; >
чтобы& #xA0;что& #xA0;вы не перезаписывали& #xA0;файл если& #xA0;оно& #xA0;существует.
Питон
#!/usr/bin/python
uni=[]
k=open('file.txt','r')
for i in k:
g=i.split(",")[3].strip()
if g not in uni:
uni.append(g)
for m in uni:
f=open("{0}.txt".format(m),'w')
l=open('file.txt','r')
for d in l:
if m in d.split(",")[3].strip():
f.write(d)
Лучшее решение, представленное в awk, это просто моя попытка
for i in `awk -F "," '{if(!seen[$4]++)print $4}' file.txt`; do awk -v i="$i" -F "," '$4==i{print $0}' file.txt >$i.txt; done