Ich möchte das Zeichen an einer bestimmten Position nur über die Befehlszeile drucken. Z.B:
<command> 5
Würde ausgegeben, a
wenn das 5. Zeichen dieser Datei wäre a
.
Da es sich um große Dateien handelt, kann dies idealerweise große Dateien verarbeiten.
command-line
text-processing
testTester
quelle
quelle
sed 's/.\{4\}\(.\).*/\1/;q' file
Wenn Sie das 5. Byte möchten, zählen Sie von 1:
oder
Beachten Sie, dass dies
tail
von 1 an zählt. Wenn also eine Datei enthalten istabcdefg
, wird dies gedruckte
.dd
undtail -c
sind in POSIX.head -c
ist üblich, aber nicht in POSIX; Es ist in GNU Coreutils, BusyBox, FreeBSD und NetBSd und nicht in OpenBSD oder Solaris.quelle
cat file | tail -c +5 | head -c 1
Oder mit (gnu) grep:
(
-z
wurde verwendet, um\n
vor dem 5. Zeichen zu behandeln)quelle