我的输入是
filename.b.c
我想要的输出是
filename
b
c
我可以通过'。'分开。使用sed或awk的角色?
答案 0 :(得分:3)
您可以使用string dateFormatted = DateTime.Today.ToString("yyyy.MM.dd");
:
tr
答案 1 :(得分:3)
您可以使用BASH字符串操作来执行此操作:
s='filename.b.c'
eol=$'\n'
echo "${s//./$eol}"
filename
b
c
或read
使用IFS
:
IFS=. read -ra var <<< "$s"
printf "%s\n" "${arr[@]}"
filename
b
c
答案 2 :(得分:3)
问题是关于sed和awk。这是sed版本:
echo filename.b.c | sed 's/\./\n/g'
和awk版本:
echo filename.b.c | awk -F'.' '{for (i=1; i<= NF; i++) print $i}'
答案 3 :(得分:2)
你可以替换。按空格,然后使用()将其设置为数组:
filename=file.a.b.c
arr=(${filename//./ })
然后你可以显示你的数组:
for k in "${arr[@]}";do echo "[$k]";done