0:root@SERVER:/root # echo "something" | sed -e 's/^/\t/g'
tsomething
0:root@SERVER:/root #
Run Code Online (Sandbox Code Playgroud)
AIX/ksh .. 为什么它不起作用?我只想在每一行之前放一个“标签”!
\t右侧的sed表达式不可移植。以下是一些可能的解决方案:
请记住,由于许多 shell 在内部将其字符串存储为 cstring,如果输入包含空字符 ( \0),则可能会导致该行过早结束。
echo "something" | while IFS= read -r line; do printf '\t%s\n' "$line"; done
Run Code Online (Sandbox Code Playgroud)
echo "something" | awk '{ print "\t" $0 }'
Run Code Online (Sandbox Code Playgroud)
echo "something" | perl -pe 'print "\t"'
Run Code Online (Sandbox Code Playgroud)