「file.txt」というファイル名を検討してください。以下が含まれます。
dove is a bird
tiger is an animal
cricket is a game.
期待される出力:
is a bird
is an animal
is a game.
cut
を使用して実行するには
cut -f 2- -d ' ' file.txt > new_file.txt
「file.txtファイルからスペースを区切り文字として使用して、2番目以降のフィールドを指定し、出力をnew_file.txtに送信します」
sedの使用:
sed 's/[^ ]* //' list.txt
セッド付き
最初の単語を削除するには:sed -E "s,^[[:alnum:]]+ ,," list.txt
最初の文字を削除するには:sed -E "s,^[[:alnum:]],," list.txt
awkで:
awk '{ $1=""; print substr($0,2) }' file.txt
Perlの場合:
Perl -pe 's/.*? //' input
Grepの場合:
grep -Po ' \K.*' input
ed -s input <<< $'%s/^[^ ][^ ]* //\nw\nq'
または、ヒア文字列を使用:
printf '%s\n' '%s/^[^ ][^ ]* //' 'w' 'q' | ed -s input
これは、改行で区切られた3つのコマンドをed
に送信します。
%
)行ごとにs
earchを入力し、スペース以外の1つ以上の文字と末尾のスペースを何も置き換えません。検索パターンは、行の先頭で^
と一致するようにアンカーされていますw
riteファイルをディスクに戻すq
uitawkは、先行する空白も削除するため、最適です。そしてそれはエイリアス可能です:
エイリアスremovefirstword = "awk '{\ $ 1 = \"\"; print substr(\ $ 0,2)}'"
testhost:稼働時間
15:26:50 0日、14:42、1ユーザー、平均負荷:1.24、1.28、1.33
testhost:稼働時間|削除する
最大0日、14:42、1ユーザー、負荷平均:1.19、1.26、1.32
もちろん、他の正規表現ソリューションもこれを行うことができます。