我需要从每行选择 10 个字符。我有一个这样的文件
TestSampleSampleSampleSample
Test1Test2Testtest4Test10Test11
lksdnlkdod
我需要修改它,使其看起来像:
TestSample
Tes1Test2T
lksdnlkdod
答案1
您可以使用 cut 逐行处理整个文件:
cut -c -10 < inputfile
答案2
有多种方法可以做到这一点。
- 和
sed
:
# Posix Regex
sed -e 's/\(.\{10\}\).*/\1/'
# Extended Regex
sed -Ee 's/(.{10}).*/\1/'
- 和
awk
:
awk '{ print substr($0, 1, 10) }'
- 使用 Perl:
# first way - classic one line
perl -ane 'print $1."\n" if /(.{10})/'
# second way - with field separator
perl -F"(.{10})" -ane 'print $F[1]."\n"'
或与cut
(参见@gnp回答)。