Я использую команду SED, чтобы попытаться отключить строки. В настоящее время я пытаюсь получить первые 16 символов для измельчения из текстового файла (строка за строкой)
Примеры строк:
psinfo -s -c psinfo -s -c ALASTAIR-MUNRO
psinfo -s -c psinfo -s -c ANDREWATKINSON
psinfo -s -c psinfo -s -c ANDY-KAYE
psinfo -s -c psinfo -s -c ANDYTURNER
psinfo -s -c psinfo -s -c CAD-SPARE2
psinfo -s -c psinfo -s -c CAD-SPARE3
psinfo -s -c psinfo -s -c CADTEMP1
psinfo -s -c psinfo -s -c CARLWALKER
psinfo -s -c psinfo -s -c CAROLEGIBBONS
psinfo -s -c psinfo -s -c CHRIS-SMITH
Я пытаюсь нарезать первую партию PSinfo -s -c, а затем преобразовать это в отдельный txt
Это то, что у меня есть, которое не работает (ниже). Любые идеи?
BIN\sed -e 's/^\(.\{60\}\).*/\16/' Working\Hostnames3.txt > Working\Hostnames4.txt
Простым и экономичным способом для этого является:
cut -c 16- hostname.txt > altered_hostname.txt
Магический раздел этой простой команды cut находится в этих двух вариантах:
-c, --characters=LIST
select only these characters
N- from N'th byte, character or field, to end of line
Другой подход: получить последний psinfo .... с grep:
grep -Po '.*\Kpsinfo.*'
Вы можете попробовать эту команду (awk)
awk '{sub(".*" $3 FS,"")}1' Working/Hostnames3.txt > Working/Hostnames4.txt
, чтобы удалить первые три поля из входного файла (по моему мнению, это то, что вам нужно) P.S. Вот пример выполнения вышеприведенного скрипта:
# cat in
a b c d
aa bb cc dd
a1 b1 c1 d1
# awk '{sub(".*" $3 FS,"")}1' in >out
# cat out
d
dd
d1
Простым и экономичным способом для этого является:
cut -c 16- hostname.txt > altered_hostname.txt
Магический раздел этой простой команды cut находится в этих двух вариантах:
-c, --characters=LIST
select only these characters
N- from N'th byte, character or field, to end of line
Другой подход: получить последний psinfo .... с grep:
grep -Po '.*\Kpsinfo.*'
Вы можете попробовать эту команду (awk)
awk '{sub(".*" $3 FS,"")}1' Working/Hostnames3.txt > Working/Hostnames4.txt
, чтобы удалить первые три поля из входного файла (по моему мнению, это то, что вам нужно) P.S. Вот пример выполнения вышеприведенного скрипта:
# cat in
a b c d
aa bb cc dd
a1 b1 c1 d1
# awk '{sub(".*" $3 FS,"")}1' in >out
# cat out
d
dd
d1