基本流/ sed? bash脚本,在每一行上执行子字符串

时间:2011-12-01 14:06:30

标签: bash sed

我知道这是基本的,但我找不到最简单的方法来遍历包含数百行的文件并提取子字符串。

如果我有文件:

ABCY uuuu
UNUY uuuu

...

我想最终:

uuuu
uuuu
....

理想情况下做一个子串

{5}检测到字符5并输出

3 个答案:

答案 0 :(得分:7)

您不需要sed

cut -c5-9 yourfile

答案 1 :(得分:1)

使用cutawk会更容易。假设您的字段由空格分隔,并且您想要第二个字段,则可以使用:

cut -d' ' -f2 file.txt

awk '{print $2}' file.txt

您还可以使用cutawk来提取子字符串:

cut -c6- file.txt
awk '{print substr($0,6);}'  file.txt

但是,如果你真的想要遍历文件并提取子字符串,你可以使用while循环:

while IFS= read -r line
do
    echo ${line:5}
done < file.txt

答案 2 :(得分:0)

如果你真的喜欢sed,你可以尝试:

sed -r 's/^.{5}//' file