Фокус этого вопроса немного сместился, реальная проблема решена в Edit 2 ниже.Проблема в начале:
Я хочу добавить простую строку, например букву N
, ко всем строкам в моем файле.Это должно произойти без введения разрывов строк.То, что мне нужно, выглядит следующим образом:
file result
Aa AaN
Bb BbN
C CN
Dd DdN
Единственное, что я нашел до сих пор, это
sed -e 's/../&N/'
, который добавляет строку только в определенном месте, поэтому для записей с переменной длиной символаэто не работает, так как результат выглядит следующим образом:
AaN
BbN
C
N
DdN
Самый простой аналог -
sed -e 's/^/&N/' file
, который предшествует каждой строке.Поэтому мне нужен обратный параметр ^
, который позволяет мне добавлять каждую строку, независимо от того, как долго строка находится в этой строке.Другие вопросы, которые я нашел по поводу добавления, вводят несколько других ограничений, которые здесь не применяются.
Редактировать: Предлагаемый
sed 's/$/N/' file > file2
меняет только самую последнюю строку в моем файле., А мне нужно изменение в каждой строке.Кажется, работает в связанном вопросе, но здесь это не так.Я не знаю почему.
Редактировать 2:
Как указывал RavinderSingh13, мой список, полученный другими командами, содержал ^M
символов.Таким образом, с помощью
cat -v file
был обнаружен реальный контент:
Aa^M
Bb^M
C^M
Dd^M
Представленное решение смогло решить эту проблему!